我有一个带有提交按钮的表单。我已使用JQuery将click事件附加到该提交按钮。一旦我这样做,我的表单就没有提交,我认为这是因为我添加的事件 - 如果我删除了click事件,它会成功提交表单。
我试过给我的表单一个id并调用提交函数,但这也没有成功。我该怎么办?
$('#submit_gen').click(function() {
$('#genbtn').html('<img src="images/ajax-loader.gif" alt="loading" />');
$('#action_form').submit();
});
HTML:
<form id="action_form" action="generate.php" method="post" enctype="multipart/form-data">
<input id="file_upload" type="file" name="upload" onchange="file_select();"/>
<input type="text" id="overlay_input">
<div id="genbtn" class="genbtn">
<input id="submit_gen" type="submit" value="Upload">
</div>
</form>
全部谢谢
答案 0 :(得分:3)
我认为更好的方法是将自定义代码绑定到表单提交本身,只需用以下代码替换代码:
$('#action_form').submit(function() {
$('#genbtn').html('<img src="images/ajax-loader.gif" alt="loading" />');
});
答案 1 :(得分:2)
它适用于Opera,但Firefox确实似乎拒绝了。
问题似乎是genbtn div中的submitbutton。如果隐藏按钮,并在按钮后插入ajax-loader.gif,它确实有效。 如果你删除提交按钮(替换html)它不起作用,firefox似乎不再提交表单了:)
$('#submit_gen').click(function() {
$('#submit_gen').append('<img src="images/ajax-loader.gif" alt="loading" />');
$('#submit_gen').hide();
$('#action_form').submit();
});
答案 2 :(得分:1)
您是否在该匿名函数结束时尝试了return true;
?
答案 3 :(得分:0)
当这样的事发生在我身上时,我会制作第二个隐形按钮来进行提交。 这样的事情。
<input id="butInvis" style="display:none;" />
然后在第一个按钮的javascript函数中单击我调用butInvis.Click();
答案 4 :(得分:0)
<form id="action_form" action="generate.php" method="post" enctype="multipart/form-data">
<input id="file_upload" type="file" name="upload" onchange="file_select();"/>
<input type="text" id="overlay_input">
<div id="genbtn" class="genbtn">
</div>
</form>
<input id="submit_gen" type="submit" value="Upload">
将html更改为上述工作吗?