Eskiden kalma bir alışkanlık kullanıcı adı kullanımım
Hocam kusura bakmayın fakat o işler öyle olmuyor, madem bilmiyorsunuz alın hazır kullanın, bu tür orta-ileri seviye javascript bilgisi gerektiren şeylerle javascript bilmeden başa çıkılamaz.
$(function() {
$(this).on("click", "#test", function(e) {
alert("xx")
});
});
Şimdi baştan başlayalım.
$(document).ready(function() {
})
kullanılışı jquery 3.0 dan sonra kaldırıldı bunun yerine
$(function(){
})
kullanımı tavsiye ediliyor.
2.olarak
$(selector).click(function() {})
kullanımı jquery 3.3 den sonra kaldırıldı bunun yerine on metodunu kullanmanız tavsiye ediliyor
$(selector).on("click", function() {})
Şimdi sorununuza gelecek olursak,
sayfaya dinamik olarak yüklenen html kodlarında bir event işlemi dinleyecekseniz bunun için on metodunu biraz daha farklı kullanmanız gerekecek. Aşağıdaki resimde göreceğiniz üzere bu metodun bir kullanım şekli de ikinci parametre olarak seçiciyi girmektir.
success fonksiyonu içerisindeki this, ajax ı temsil ediyor, arrow fonksiyonlarda this kavramı olmadığı için success fonksiyonunda arrow function kullanırsanız bir üstteki fonksiyonu işaret etiş olursunuz. Yani kodu şu şekilde düzenleyin;
$('.loginForm').on('submit',function (e) {
e.preventDefault();
let data=$(this).serialize();
$(this).find('button').prop('disabled', true);
$.ajax({
url: 'ajx/asd/dd.php',type: 'POST',data: data,
success: data => {
if(data == 1){
window.location.href='./';
}else{
$.formAlert(data,'.loginForm');
$(this).find('button').prop('disabled',false);
}
}
});
});
Daha detaylı bilgi için Bakınız
ya da alternatif olarak
$('.loginForm').on('submit',function (e) {
e.preventDefault();
let $this = $(this),
data = $this.serialize()
$this.find('button').prop('disabled', true);
$.ajax({
url: 'ajx/asd/dd.php',type: 'POST',data: data,
success: function (data) {
if(data == 1){
window.location.href='./';
}else{
$.formAlert(data,'.loginForm');
$this.find('button').prop('disabled',false);
}
}
});
});
$('.loginForm').on('submit',function (e){
e.preventDefault();
//Aşağıda görüldüğü gibi .loginForm yazmak yerine this yazarak ilgili formu seçtim
let data = $(this).serialize();
// Eğer bu buton form ögesinin bir seviye altında ise yani direkt olarak çocuğu ise
$(this).children("button").prop('disabled', true);
// Ya da bu buton form ögesinin içerisinde bir yerlerde ise (çocuk, torun veya daha aşağısı)
$(this).find("button").prop('disabled', true);
alert()
})
Sayfanın head tagları içerisinde;
<?php
$tarihler = ['10-29', '04-23', '05-19', '08-30', '01-26']; // m-d formatında (ay-gün)
if (in_array(date('m-d'), $tarihler)) { ?>
<style>
body {
background-color: rebeccapurple;
}
</style>
<?php }