2012-03-28 61 views
0

我正在写一个脚本来使页面自动提交两次。该脚本应该先按第一个提交按钮,然后有一个小的延迟,然后按第二个。两者都在同一文件上。Javascript如何自动提交

我在做什么是:获取文档,然后使用document.GetElementByID('id_button')。click(),并有timeOut延迟第二次点击。事情是,第一个按钮工作正常,但第二个按钮不起作用。我不知道为什么。我的方法是否正确?

+0

第一次提交完成后,原始页面消失并且不再相关。如果要同时将数据发布到多个服务器,则需要在解决方案中包含AJAX。 – mellamokb 2012-03-28 22:18:45

+0

它只有一个服务器,它只有一个提交和一个确认按钮。 – MKII 2012-03-28 22:21:01

+0

重复:http://stackoverflow.com/q/7991152/1048572 – Bergi 2012-03-28 22:23:43

回答

0

对表格有反应的状态。

/Page.HTML 

/Page.HTML? washere=true 

/Page.HTML? washereagain=true 

可以通过脚本来识别

+0

等等,你是什么意思?请你再解释一下吗? – MKII 2012-03-28 22:31:36

+0

当然....检查网址参数,如果没有提交。如果'washere = true',再次提交。如果washereagain = true'你提交了两次.....非常低的水平,涉及页面重新加载,但工程。 ... – Steen 2012-03-28 22:38:46

+0

我明白你的意思......但我不认为它会与我尝试使用的网站一起使用。它基本上只是一个“阶段”,根据需要加载新屏幕,并在一个屏幕上提交并在另一个屏幕上提交。我想,即使有一个错误,我被带到错误页面,我仍然会得到相同的错误... – MKII 2012-03-28 22:43:45

0

什么我做的是:获取文档,然后使用的document.getElementById( 'id_button')点击(),

并非所有浏览器都支持点击提交按钮的方法,因此您的策略会失败,因为大量浏览器正在使用中。

您可以通过调用提交方法来提交表格。如果你想自动提交一次(这似乎是一个毫无意义的练习,但这是你的选择),每次提交表单时都要设置一个cookie,并在页面加载时检查它,看看它提交了多少次。