Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 将单击事件添加到提交按钮,然后提交表单_Javascript_Jquery - Fatal编程技术网

Javascript 将单击事件添加到提交按钮,然后提交表单

Javascript 将单击事件添加到提交按钮,然后提交表单,javascript,jquery,Javascript,Jquery,我有一个带有提交按钮的表单。我使用JQuery在提交按钮上附加了一个点击事件。一旦我这样做了,我的表单就没有提交,我想这是因为我添加了一个事件——如果我删除了那个点击事件,它就会成功提交表单 我尝试给我的表单一个id并调用submit函数,但也没有成功。我能做什么 $('#submit_gen').click(function() { $('#genbtn').html('<img src="images/ajax-loader.gif" alt="loading" />');

我有一个带有提交按钮的表单。我使用JQuery在提交按钮上附加了一个点击事件。一旦我这样做了,我的表单就没有提交,我想这是因为我添加了一个事件——如果我删除了那个点击事件,它就会成功提交表单

我尝试给我的表单一个id并调用submit函数,但也没有成功。我能做什么

$('#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">