0

此代码确认用户填写表单的信息。

在我第一次提交时,我使用此代码,它可以防止表单被提交两次:

<td width="30%" align="left">
    <input name="Submit" type="submit" value="OK" onclick="this.disabled=true; this.value='Sending...'; selectCarMakeModel.submit();"/>
</td>

但是在确认码上,在我第二次提交时,如果我想在 onclick 中添加“this.disable”,它将不起作用,而不是在命令之前或之后,它只是保持空闲:

<form name="selectCarMakeModel" action="<?=$_SERVER['REQUEST_URI']?>" method="post">
    <?
    foreach($_POST as $key => $val) {
        echo '<input type="hidden" name="'. $key .'" value="'. myHTMLSpecialChars($val) .'">' . "\n";
    }
    ?>
    <input type="hidden" name="sticky" value="showForm">
    <input type="submit" name="goBack" value="No, Go Back">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
    <input type="submit" name="submit" value="Si, continue" onClick="this.form.sticky.value='continue'">
</form>

谢谢

编辑:对不起,对不起......我没问对,第一个代码工作正常,问题是在第二个代码中,如果我点击提交按钮两次,表单会被提交两次,所以我尝试添加“this.禁用”功能,但在第二个代码上不起作用,如果我添加它,它不会处理,如果我不添加它,有时表单会发送两次。

4

3 回答 3

2

disabled元素不触发事件。您必须启用该属性,然后才能触发该事件。

于 2013-03-14T18:01:47.880 回答
1

您需要将要提交的内容设置为隐藏,然后您可以在第一次单击后禁用提交,(提交隐藏值)。用户将无法提交两次,值将被提交

于 2013-03-14T18:38:17.407 回答
0

提交后需要重新启用:

onclick="this.disabled=true; this.value='Sending...'; selectCarMakeModel.submit();this.disabled=false;"

那应该为下一次设置它。

于 2013-03-14T18:03:18.100 回答