2017-01-19 12 views
0

チェックボックスをオンにして、自分のコーディングが好きなときにテキストボックスを有効にしようとしています。送信ボタンをクリックすると、フォーム全体をチェックし、満たされていないすべての空フィールドについてエラー情報を提供し、満たされたすべてのフィールドに残りの情報を残します。問題は、チェックボックスをオンにして、テキストボックスを有効にして入力した後で、送信ボタンを押した後に(必要なフィールドがすべて完了していない場合)、テキストボックスが無効のまま残ります。チェックボックスをオンにしたときにテキストボックスを有効にする -

<input type="checkbox" name="chklist" onchange="document.getElementById('txtOthers').disabled = !this.checked;" <?php if(isset($_POST['btnSubmit']) && isset($_POST['chklist'])) echo "checked" ?> /> OTHERS : 
    <input style="width: 130px;" type="textbox" id="txtOthers" name="txtOthers" disabled value="<?php echo $others;?>" /> 
+0

? – wogsland

+0

あなたが使用しているjavascript/jqueryコードを表示してください、現在の情報で推測するのは難しいです –

+0

@wogsland私は 'onchange =" document.getElementById( 'txtOthers')。 'textbox'を有効にして無効にする' checkbox' –

答えて

0

あなたがそうするようにjQueryを使用することができます:

以下は、私が現在使用していることをコード化された

<input type="checkbox" name="chklist" id="checkbox" <?php if(isset($_POST['btnSubmit']) && isset($_POST['chklist'])) echo "checked" ?> /> OTHERS : 
<input style="width: 130px;" type="textbox" id="txtOthers" name="txtOthers" disabled value="<?php echo $others;?>" /> 

$(document).ready(function(){ 
    $("#checkbox").change(function(){ 
     if ($('input.checkbox_check').is(':checked')) { 
      $(#txtOthers).show(); 
     }else{ 
      $(#txtOthers).hide(); 
     } 
    }); 
    $("form").submit(function() { 
     $("#txtOthers").prop('disabled', true); 
    }); 
}); 
JavaScriptは、あなたがこれらの事を達成するために、これまで書いてきた何
+0

こんにちは、答えをありがとう。私はそれを試みたが、同じ結果を残した。送信ボタンをクリックすると、ページ全体が実際にリフレッシュされるので、再び 'textbox'が無効になります。 'if(isset($ _ POST ['chklist'])){//何かを有効にするテキストボックス}' –

+0

jQuery.ajaxを使ってもう1つの事を送信するフォームを追加することができます。それはページをリフレッシュするのを避けるでしょう。 $( "#が提出")をクリックします(関数(){$ アヤックス({ タイプ: "POST"、 URL: "ajaxsubmit.php"、 データ:dataString、 キャッシュ:偽、 成功: () } }); –

+0

このコードを削除する:$( "form"){ $( "#txtOthers")。 '無効'、真); }); –

関連する問題