Aynı formun her gönderiminde kullanmak istediğim global bir formum var ve bu form otomatik olarak veritabanından kaç tane iş parçacığı üretildiğine bağlı olarak oluşturuluyor . Bu yüzden sayfa yüklendiğinde aynı türden iki veya dört form olabilir. Ayrıca, bu tür bir form ajax yoluyla belirli istek üzerine sayfaya yüklenir. ve en önemlisi - tüm bu form aynı gönderme işlevini kullanacaktır. Örneğinjquery: aynı form ajax ile yüklendiğinde yinelenen gönderim olayları
,
html aşağıda
<div class="form"></div>
<a href="form.php" class="load">load</a>
<div>
<form action="#" method="post" enctype="multipart/form-data" class="form-global">
<textarea name="str_content" title="Write a comment..."></textarea>
<input type="submit" name="submit" value="SUBMIT" class="button-public left"/>
</form>
</div>
<div>
<form action="#" method="post" enctype="multipart/form-data" class="form-global">
<textarea name="str_content" title="Write a comment..."></textarea>
<input type="submit" name="submit" value="SUBMIT" class="button-public left"/>
</form>
</div>
jquery çalışma kodu
$(document).ready(function() {
sumbitform();
$(".load").click(function() {
var path = $(this).attr('href');
$('.form').load(path, {}, function(){
sumbitform();
//$(this).bind("submit", sumbitform);
});
return false;
});
});
this.sumbitform = function(){
$("form.form-global").submit(function(){
alert('1');
return false;
});
}
tüm formları
sayfa yüklendiğinde, normal olarak çalışmaya, sadece gönderme Her formda bir kez olur. ama problem, ajax ile aynı türden yeni bir form yüklendiğinde ortaya çıkar, diğer mevcut formlar iki kez tetiklenir. Eğer http://nano-visions.net/dump/jquery.ajaxsubmit/nasıl bu sorunu çözebilirsiniz, bu bağlantıyı sorunu görebilirsiniz
? Gönderme işlevini ajax yüklenen forma yalnızca aşağıdaki bu satır gibi ekleyebilir miyim?
$(this).bind("submit", sumbitform); // doesn't work obviously
veya başka herhangi bir daha iyi fikir?
Teşekkürler.
Teşekkürler. Sadece denedim ama çalışmıyor. Bu kodu değiştirmek mi istiyorsun? . $ ('Form') yük (yol, {}, function() { \t \t \t \t \t \t $ (this) .live ("Gönder", sumbitform); \t \t}); – laukok
Kodunuzdan yola çıkarak, "$ (" form.form-global ") 'i değiştirmeniz gerektiğini düşünüyorum.dota (...)' dan $ ("form.form-global"). Live ("submit") ...) ' –
şimdi çalışıyor! çok teşekkürler! – laukok