Aynı sayfaya post etme, bir ajax.php dosyası oluştur örneğin, kodlarını şu şekilde değiştir
<html>
<head>
</head>
<body>
<h1 class="title">İLETİŞİM </h1>
<div class="col-md-7" style="padding-top: 15px;padding-bottom: 15px;">
<form name="CMFormGonder1">
<div class="form-group">
<label for="exampleInputEmail1">Adınız Soyadınız</label>
<input type="text" name="CMform[Ad Soyad]" class="form-control validate[required]" value="" placeholder="Adınız Soyadınız" />
</div>
<div class="form-group">
<label for="exampleInputPassword1">Email Adresiniz</label>
<input type="email" name="CMform[Email Adresi]" class="form-control validate[required, custom[email]]" value="" placeholder="Email Adresiniz" />
</div>
<div class="form-group">
<label for="exampleInputPassword1">Konu</label>
<input type="text" name="CMform[Konu]" class="form-control validate[required]" value="" placeholder="Konu" />
</div>
<div class="form-group">
<label for="exampleInputPassword1">Mesajınız</label>
<textarea class="form-control validate[required]" name="CMform[Mesaj]" rows="6" placeholder="Mesajınız"></textarea>
</div>
<button class="btn btn-dark CMFormButton1">Gönder</button>
</form>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script src="https://unpkg.com/[email protected]/dist/sweetalert.min.js"></script>
<script>
$("form[name='CMFormGonder1']").on("submit", function (e) {
e.preventDefault()
let formData = new FormData(this);
$.ajax({
method: "POST",
url: 'ajax.php',
type: 'POST',
data: formData,
dataType: 'json',
beforeSend() {
$('.CMFormButton1').prop("disabled", true)
},
success: response => {
if(response.status){
$(this).trigger("reset")
swal("Başarılı", response.message, "success")
}else{
swal("Hata!", response.message, "error")
}
},
cache: false,
contentType: false,
processData: false
}).always(() => {
$('.CMFormButton1').prop("disabled", false)
})
})
</script>
</body>
</html>
ajax.php de şöyle olabilir genel hatlarıyla
<?php
if (isset($_POST['CMform'])) {
$adSoyad = $_POST['CMform']['Ad Soyad'];
$email = $_POST['CMform']['Email Adresi'];
$konu = $_POST['CMform']['Konu'];
$mesaj = $_POST['CMform']['Mesaj'];
// Burada bu verileri işle
// Başaralılı ise bu kodu çalıştır
$response = [
'status' => true,
'message' => 'Form başarıyla gönderildi'
];
// Başarısız ise bu kodu çalıştır
/*$response = [
'status' => false,
'message' => 'Form gönderiminde hata oluştu'
];*/
// En sonda da bu kodu yazdır
echo json_encode($response);
}
Tabii formdan gelen verileri işleyip yanıtı ona göre vermen gerekiyor
import requests, re
from bs4 import BeautifulSoup as bs
req = requests.get("https://tr.wikipedia.org/wiki/D%C3%BCnya_Kad%C4%B1nlar_G%C3%BCn%C3%BC")
soup = bs(req.content, "lxml")
c = soup.select("#bodyContent")[0].text
content = re.sub("\[.*\]", "", c)
print(content)
jquery dosyasını bu fiyatlar.js dosyasından önce çağırman gerektiğini unutma
Hücrelere standart bir genişlik değeri ver, örneğin width:100px gibi
Bence bu kısımdan sonrasını halledebilirsiniz Link
Yine de aynı niteliğe sahip inputları çoğaltırken php tarafına dizi olarak gidecek şekilde çoğaltın. Ön yüzde 1. 2. diye kullanıcıya gösterin ama kod yapısında bu 1. 2. mantığını array elementlerinin sırası şeklinde yakalayın. Ajax kullanmanıza gerek yok. Yapmaya çalıştığınız pek makul gelmedi bana açıkçası.
Bu mantıkta yaparsan daha kolay olacaktır.
<!doctype html>
<html lang="tr">
<head>
<meta charset="UTF-8">
<meta name="viewport"
content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/[email protected]/dist/css/bootstrap.min.css">
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.0.0/css/all.min.css">
</head>
<body>
<div class="container">
<form action="" id="form">
<div class="block">
<div class="form-group nameBlock">
<label for="name1">1. Yazarın adı</label>
<input type="text" class="form-control" id="name1" placeholder="1. Yazarın adı…" name="name[]">
</div>
<div class="form-group surnameBlock">
<label for="surname1">1. Yazarın soyadı</label>
<input type="text" class="form-control" id="surname1" placeholder="1. Yazarın soyadı…" name="surname[]">
</div>
</div>
<input type="submit" class="btn btn-success">
</form>
<button type="button" class="btn btn-info btn-circle" style="float:right;" onclick="yeniekle()">
<i class="fa fa-plus"></i>
</button>
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.6.0/jquery.min.js"></script>
<script>
function yeniekle() {
let writersLength = $(".nameBlock").length,
newWriter = writersLength + 1
$(".block").append(`
<div class="form-group nameBlock">
<label for="name${newWriter}">${newWriter}. Yazarın adı</label>
<input type="text" class="form-control" id="name${newWriter}" placeholder="${newWriter}. Yazarın adı…" name="name[]">
</div>
<div class="form-group surnameBlock">
<label for="surname${newWriter}">${newWriter}. Yazarın soyadı</label>
<input type="text" class="form-control" id="surname${newWriter}" placeholder="${newWriter}. Yazarın soyadı…" name="surname[]">
</div>`)
}
$("#form").on("submit", function (e) {
e.preventDefault()
$.ajax('ajax.php', {
data: $(this).serialize(),
method: "POST"
}).done(response => {
console.log(response)
})
})
</script>
</body>
</html>
ajax.php
if ($_POST) {
print_r($_POST);
}
setInterval(() => {
$.getJSON('<?= $source ?>', data => {
$("#try").html(data.data.ALTIN.alis)
$("#try2").html(data.data.ALTIN.satis)
$("#try3").html(data.data.ALTIN.tarih)
})
}, 10e3)
Ayrıca tablodaki span taglerini de kapatmayı unutmuşsun
<td><span id="try"><?= $currency['data']['ALTIN']['alis']; ?></span></td>
<td><span id="try2"><?= $currency['data']['ALTIN']['satis']; ?></span></td>
<td><span id="try3"><?= $currency['data']['ALTIN']['tarih']; ?></span></td>
<button data-type="1" class="sirala">Sırala</button>
<button data-type="2" class="sirala">Eski Haline getir</button>
<div class="container">
</div>
let array = [
{
value: 100
},
{
value: 80
},
{
value: 60
},
{
value: 110
}
],
defaultOrders = [...array]
const container = document.querySelector(".container")
function compare(a, b) {
if ( parseFloat(a.value) > parseFloat(b.value) ){
return -1;
}
return 0;
}
[...document.querySelectorAll(".sirala")].forEach(buttons => {
buttons.onclick = function() {
this.dataset.type === '1' ? array.sort(compare) : array = [...defaultOrders]
container.innerHTML = ''
array.forEach(value => {
let div = document.createElement("div")
div.innerText = value.value
container.appendChild(div)
})
}
})
Bunu dener misin?