Javascript 将单击事件添加到提交按钮,然后提交表单
我有一个带有提交按钮的表单。我使用JQuery在提交按钮上附加了一个点击事件。一旦我这样做了,我的表单就没有提交,我想这是因为我添加了一个事件——如果我删除了那个点击事件,它就会成功提交表单 我尝试给我的表单一个id并调用submit函数,但也没有成功。我能做什么Javascript 将单击事件添加到提交按钮,然后提交表单,javascript,jquery,Javascript,Jquery,我有一个带有提交按钮的表单。我使用JQuery在提交按钮上附加了一个点击事件。一旦我这样做了,我的表单就没有提交,我想这是因为我添加了一个事件——如果我删除了那个点击事件,它就会成功提交表单 我尝试给我的表单一个id并调用submit函数,但也没有成功。我能做什么 $('#submit_gen').click(function() { $('#genbtn').html('<img src="images/ajax-loader.gif" alt="loading" />');
$('#submit_gen').click(function() {
$('#genbtn').html('<img src="images/ajax-loader.gif" alt="loading" />');
$('#action_form').submit();
});
$('submit_gen')。单击(函数(){
$('#genbtn').html('');
$(“#行动表格”).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>
谢谢大家您是否尝试过
返回true代码>在匿名函数的末尾?当类似的事情发生在我身上时,我会制作第二个不可见的按钮来完成提交。
像这样的
<input id="butInvis" style="display:none;" />
然后在我的javascript函数的第一个按钮上单击我调用butInvis.click() 我认为更好的方法是将自定义代码绑定到表单提交本身,只需将代码替换为:
$('#action_form').submit(function() {
$('#genbtn').html('<img src="images/ajax-loader.gif" alt="loading" />');
});
$('#操作_表单')。提交(函数(){
$('#genbtn').html('');
});
它在Opera中有效,但Firefox似乎确实拒绝了
问题似乎是genbtn div中的submitbutton。如果隐藏该按钮,并在按钮后插入ajax-loader.gif,则该按钮确实有效如果删除submitbutton(替换html),则该功能不起作用,firefox似乎不再提交表单:)
$('submit_gen')。单击(函数(){
$('submit_gen')。追加('');
$('submit_gen').hide();
$(“#行动表格”).submit();
});
将html更改为上面的代码行吗?请稍候,这是工作代码还是非工作代码?你能显示HTML吗?我已经添加了HTML,上面的不起作用。只显示加载图标,没有提交任何内容,因为页面保持原样。在提交过程中,页面不会变为空白吗(因为这不是一个异步提交?是的,我有-这似乎没有做任何事情。同样的事情!我认为点击事件与提交事件是分开的,为什么它们会相互影响?!@Abs:它们不是完全分开的,返回false
会取消提交。这是个好主意。但我认为有一些事情这里错了。我尝试了上面的方法(它应该可以工作并提交表单),但没有。只有加载程序显示,我的firefox浏览器没有显示提交表单的迹象。wtf正在进行…如果没有这些事件,表单将正常提交。嗯,您的代码运行不正常,您确定表单id是“action\u form”吗???好的,这就是示例HTML中的id。我在一个目前正在运行的商业网站上实现了这种行为,所以我不确定为什么这对您不起作用。也许问题是不同的?非常感谢您强调:)这是我从未见过的firefox浏览器的一种行为。只需补充一点,它不需要提交就可以工作。
$('#submit_gen').click(function() {
$('#submit_gen').append('<img src="images/ajax-loader.gif" alt="loading" />');
$('#submit_gen').hide();
$('#action_form').submit();
});
<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">