我的SetTimeout没有自动提交我的按钮

时间:2013-11-11 07:44:53

标签: javascript php settimeout

我有像

这样的代码
 <SCRIPT LANGUAGE="JavaScript">
setTimeout('document.test.submit()',1000);
</SCRIPT>

我按照有关如何执行settimeout函数的教程,但它不能使用我的PHP代码..我的整个代码看起来像这样..

<head>
<link rel="stylesheet" type="text/css" href="css.css" />
<SCRIPT LANGUAGE="JavaScript">
setTimeout('document.test.submit()',1000);
</SCRIPT>
</head>

我的php看起来像这样..

                echo "<form name=\"asd\" id=\"form1\" action=\"PostTest1.php\" method=\"post\" >";


                    echo "<tr><td>";
                    echo $row['Description'] . "<br>";
                    echo "<input type=\"radio\" name=\"Answer\" value=\"A\"> A.)" . $row['Ans1'];
                    echo "<br>";
                    echo "<input type=\"radio\" name=\"Answer\" value=\"B\"> B.)" . $row['Ans2'];
                    echo "<br>";
                    echo "<input type=\"radio\" name=\"Answer\" value=\"C\"> C.)" . $row['Ans3'];
                    echo "<br>";
                    echo "<input type=\"radio\" name=\"Answer\" value=\"D\"> D.)"  . $row['Ans4'];
                    echo "<br>";

                echo "<input type=\"submit\" value=\"submit\" name=\"submit\">";

                    echo "</td></tr>";

                echo "</form>"; 

我的按钮不是自动点击..感谢您提前帮助.. :) (抱歉我的语法)

2 个答案:

答案 0 :(得分:0)

试试这个:

setTimeout(document.getElementById("form1").submit(),1000);或者,您也可以这样做:setTimeout(document.asd.submit(),1000);,因为您已经为表单命名。

您需要找到要提交的正确元素,document.test在您提供的方案中无效。

编辑:您需要从提交按钮中删除name属性,因为当您调用.submit()时,它正在查找该元素,而不是像您期望的那样提交表单。 / p>

小提琴:http://jsfiddle.net/KyleMuir/yKG3U/

答案 1 :(得分:0)

setTimeout需要一个函数来调用和超时。

你可以这样做:

 setTimeout(my_func(), 1000);
function my_func(){
  document.getElementById("id_form").submit();
}

这种方式应该有用。