0

ユーザーが[送信]をクリックすると、POSTメソッドを使用してphpスクリプトを介してすべての情報が電子メールに送信されるHTMLフォームがあります。私がやりたいのは、送信ボタンがクリックされた後にすべてのユーザー入力を無効にするか、すべてのテキストボックス入力フィールドをグレー表示することです。どうすればこれを行うことができますか?

現在の送信ボタンのコードは次のようになっています。

<input type="submit" value=" Continue " style="width:200px;height:40px">
4

5 に答える 5

0

jQueryを使用することによって:$("input").prop('disabled', true); しかし、純粋なHTMLでは、ページを更新しないと不可能です!

編集: Javascript:

<script src="http://code.jquery.com/jquery-latest.js"></script>
<script>
$(document).ready(function(e) {
    $("#yourFormID").submit(function() {
        $("#theInputToDisable").prop('disabled', true);
        //Or to disable all inputs 
        //$(this).children("input").prop('disabled', true);
        //$(this).children("input").attr('disabled', 'disabled'); 
        return false;
    })
});
</script>

HTML

<form id="yourFormID">
    <input type="text" />
    <input type="submit" value="Send"/>
</form>
于 2013-01-22T12:21:58.873 に答える
0

データベースの相互作用がなければ、これを行うことはできません。データベーステーブルにフラグを立ててください。ユーザーがフォームを送信する場合、フラグ 1 を設定します。デフォルトは 0 です。フラグ値に基づいて、フォームを無効にすることができます。

if(mailsent_status_of_the_user == 1){
    $status = "disabled='disabled'";
}else{
   $status = "";
}



<input type="submit" value=" Continue " <?php echo $status; ?> >
于 2013-01-22T12:41:01.697 に答える
0

メールが送信されたかどうかはサーバー側の処理であるため、jQuery や javascript などのクライアント側から処理するよりも、サーバー側から処理する方が適切です。

$form_state = ($is_mail_sent)?"":"disabled='disabled'";

<input type="submit" <?php echo $form_state ?> value=" Continue " style="width:200px;height:40px">
于 2013-01-22T12:45:25.773 に答える
0

送信ボタンのクリックですべての入力を無効にする

$("input").attr('disabled', true);
于 2013-01-22T12:25:29.530 に答える
0

無効にする各 HTML 入力要素に以下を追加します。あなたが言及していないので、これにはPHPを使用できると思います。

<?php if(isset($_POST['submit'])) echo 'disabled="disabled"'; ?>

AJAX を使用している場合、イベントが発生したとき、特定のイベント内で

$("input").prop('disabled', true);
于 2013-01-22T12:22:51.350 に答える