2009-12-05 83 views
0

我有些JavaScript代码编程结束了点击一个按钮:按钮实际上是否点击?

document.getElementById("myButton").click(); 

这反过来又导致形式使用函数调用提交:

<form onsubmit="submit_this_form(this);return false;" action="" method="POST"> 

看来,一个良好的百分比当实际的按钮点击没有通过或者表单没有被提交时。我认为按钮点击正在进行,我知道代码被调用,因为我有一个嵌入式计数器,我可以看到它正在执行。

我的问题是...是否有事件或验证表单实际发布的方式?顺便说一下,我无法控制HTML代码,所以我无法更改标记内容。

回答

1
<form onsubmit="submit_this_form(this);return false;" action="" method="POST"> 

submit_this_form()实质上阻止表单实际提交后返回false。我相信如果您将其更改为:

<form onsubmit="submit_this_form(this);" action="" method="POST"> 

它应该按照您的要求工作。

在事件处理程序实质上会“劫持”默认功能后使用return false。基本上,无论你的事件处理函数脚本如何替换默认行为,在这种情况下,都是将表单数据提交给服务器。

+0

格雷格要求的是什么? – 2009-12-05 19:12:26

+0

据我所知,除非我误解了......他试图提交表格,他认为点击事件正在工作,但表单不是,并且希望检查表单是否正在提交。 我告诉他,它没有提交,因为返回false。 – brildum 2009-12-06 02:52:49

0

我不认为你可以验证表单实际上是提交的地方。 但您可以通过XMLHTTPRequest手动提交它并检查服务器响应。 这样您就可以确定表单已提交。你可以有一个事件(你的自定义事件),说的表单提交,如果你需要... 顺便说一句,不要忘记防止形式默认提交,如果你去AJAX的方式。

检查jquery.form插件快速推出AJAX表单提交,看看它是你想不想的。
祝你好运!