0

このコードは、ユーザーがフォームに入力した情報を確認します。

最初の送信でこのコードを使用すると、フォームが 2 回送信されるのを防ぐことができます。

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

しかし、確認コードでは、2回目の送信で、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>

ありがとう

編集:申し訳ありませんが、正しく質問しませんでした。最初のコードは正常に機能します。問題は、2番目のコードで送信ボタンを2回クリックするとフォームが2回送信されることです。 「無効にする」機能ですが、2番目のコードでは機能しません。追加すると処理されず、追加しないとフォームが2回送信されることがあります。

4

3 に答える 3

2

disabled要素はイベントを発生させません。プロパティを有効にする必要があります。これにより、イベントが発生します。

于 2013-03-14T18:01:47.880 に答える
1

送信したいものを非表示に設定する必要があり、最初のクリック後に送信を無効にすることができます (非表示の値を送信します)。ユーザーは 2 回送信できず、値が送信されます

于 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 に答える