2012-02-16 11 views
0

私は、以下の条件にフォームを送信するボタンを無効にするための簡単なコードが必要ですID「#radio_one」と<input type="radio">を選択し、次にID「#text_one」で一つだけ<input type="text">をチェックすると入力タイプのテキストが空の場合、jQueryで送信するボタンタイプを無効にしますか?

を。

OR

ID "#1 radio_two" と<input type="radio">を選択し、次にID "#text_two" ともID "#text_one" と2 <input type="text">をチェックした場合。

<input type="text">が1つまたは2つ付いている場合は、この属性がボタンから削除された場合は、ボタン<input type="send">の属性disabled = "無効"を追加してボタンを追加します。私の英語のための

申し訳ありませんが、私はGoogleの翻訳を使用:私はあなたが私を理解してほしい、別のコードを持っていけない(

をので、私はいくつかの簡単なjQueryのコードを作成したことができ、その後、おそらく編集

おかげ

編集:これは動作しません:

$("#send_button").attr("disabled", "disabled"); 

    if ($('#absence_one').checked && $('#cal_from').val().length > 0) { 
     $("#send_button").removeAttr("disabled"); 
    } 

    if ($('#absence_more').checked && $('#cal_to').val().length > 0) { 
     $("#send_button").removeAttr("disabled"); 
    } 

答えて

1

はここjsfiddle私の例をご覧ください。

私はそれがどちらかにチェックボタン

を無効にするか、undisableにするために、テキスト入力に keyupリスナーを入れて、それが無効またはボタン

をundisableのいずれかにチェックするためにラジオでclickリスナーを置きます

EDIT

ここでは若干の変更を加えましたが、ここでは新しいjsfiddleです。

また、サーバー側で送信を確認してください。誰かがjavascriptを無効にすると、そのボタンはクリックできるようになります。

$("#send_button").attr("disabled", "disabled"); 

$("input[type='radio']").change(function() 
{ 
    checkButton(); 
}); 

$("input[type='text']").keyup(function() 
{ 
    checkButton(); 
}); 

function checkButton() 
{ 
    if (($('#absence_one').is(":checked") && $('#cal_from').val().length > 0) || ($('#absence_more').is(":checked") && $('#cal_to').val().length > 0)) { 
     $("#send_button").removeAttr("disabled"); 
    } 
    else 
    { 
     $("#send_button").attr("disabled", "disabled"); 
    } 
} 
+0

これはまさにそれです。ありがとうございました – Edoras

1

私は理解していれば、あなたはラジオボタン/テキストボックスのいずれかのペアがUNFであれば、送信ボタンを無効にしたいですスルフィド。その場合:

$("input[type=submit]").attr("disabled", "disabled"); 

if ($('#radio_one').checked && $('#text_one').val().length > 0) { 
    $("input[type=submit]").removeAttr("disabled"); 
} 

if ($('#radio_two').checked && $('#text_two').val().length > 0) { 
    $("input[type=submit]").removeAttr("disabled"); 
} 
+0

はい、あなたはそれをよく理解していますが、コードは機能しません。 IDは正しいが、テキストを入力してもボタンは無効になっている。 '$("#send_button ")。attr(" disabled "、" disabled "); \t \t($( '#のabsence_oneは')。&& $( '#のcal_from')をチェックする。valを()。長さ> 0)であれば、{ \t \t $( "#のsend_button")。removeAttr( "無効") ; \t \t} \t \t IF($( '#1 absence_more')&& $( '#1 cal_to' をチェックする)。ヴァル()。長さ> 0){ \t \t $( "#1 send_button")。removeAttr( "disabled"); \t \t} ' – Edoras

+0

私はjQueryバージョン1.7.1を使用します。 – Edoras

+0

代わりに.attr(" disabled "、" true ")'を使用してください。 –

関連する問題