我编写了一个JQuery AJAX提交脚本,该脚本将通过AJAX提交带有类ajax的表单并将其序列化等等 这是剧本:
$("form.ajax").submit(function(){
alert('a');
var url = $(this).attr('action');
if($(this).attr("element") != null)
{
var element = $(this).attr("element");
}
else if($(this).attr("element") == 'undefined')
{
var element = "render";
}
$("#"+element).html("<div id='loader'>Laden...<br /><img src=\"/site/templates/img/ajax-loader.gif\"/></div>");
$.post(url, $(this).serialize(), function(data){
$("#"+element).html(data);
});
return false;
});
好吧,当我提交表单时,任何带有ajax类的表单都会提交两次,我可以在Chrome控制台的网络标签中看到这一点。
出了什么问题,我没有得到它(我把警报('a')放在那里检查它是否会弹出两次,但事实并非如此)。
请帮帮我?
编辑: HTML,我之前发过几次但是好的,我们走了:
<form class='ajax' element='make-payment' action='/statistieken/maak-betaling' method='post'>
<input type='hidden' name='charity_id' value='1749'>
<li class='form-item'><label for='amount'>Bedrag:</label></li>
<li class='form-item'><input type='text' id='amount' name='amount' /></li>
<li class='form-item'><input type='submit' value='Betalen' /></li>
</form>
问候, hawiak
答案 0 :(得分:1)
尝试这样的事情
$("form.ajax").submit(function(){
alert('a');
var element;
var url = $(this).attr('action');
if($(this).attr("element") != null)
{
element = $(this).attr("element");
}
else if($(this).attr("element") == 'undefined')
{
element = "render";
}
$("#"+element).html("<div id='loader'>Laden...<br /><img src=\"/site/templates/img/ajax-loader.gif\"/></div>");
$.post(url, $(this).serialize(), function(data){
$("#"+element).html(data);
});
return false;
});