2012-05-03 7 views
0

私は、1つのラジオボタンが選択されても何も起こらないが、もう1つが(例えば、他のアドレス)なら、次のフィールドを検証するようにjavascriptを使う必要がある。JavaScriptラジオボタンを選択するとフィールドが検証されますか?

ストリート suberb 郵便番号

私はこれを投稿一方で、それはおそらく同様の方法ですが、私はチェックボックスとテキストボックスを持っているとき、どのように私はそのようにそれを作ることができる場合にのみ、テキストボックスを空のままにしてはいけませんチェックボックスがオンになっています...

ありがとうございました!!!!必要に応じて詳細を尋ねると、私は物事を説明するのがひどいです!

+0

あなたはhtmlを投稿できますか?まだいくつかのJavaScriptを試しましたか?いくつかのjavascriptライブラリ(例:jquery)を使用していますか? –

答えて

0

ラジオボタンをクリックするとラジオボタンがチェックされるので、ラジオボタンのいずれかにonClickイベントを追加できます。

<input type='radio' id='test' name='test-1' /> 
<input type='radio' id='test' name='test-2'onClick='Validate();'/> 

チェックボックスの場合、ユーザーがチェックボックスをオンにすると、フォーカスをテキスト入力フィールドに設定する必要があります。そうすれば、ユーザーがそのフィールド(onBlur)から離れてしまうと、テキストを入力するためのエラー/警告を与えることができます。

<input type='checkbox' id='testChkbx' name='testChkbx' onClick=' /*Set the focus to the text box*/'/> 

<input type='text' id='testText' name='testText' onBlur='/* Check to make sure the value of the checkbox is not empty. */'/> 
+0

このチェックボックスをオンにするとすぐにフォームの検証をしたくない場合があります。検証済みのフィールドにまだ入力していない場合はどうなりますか?代わりに、フォームの送信時に常に検証を行いたいと考えています。 –

+0

^まあ、どうすればいいですか? –

0

あなたが言っていないので、jQueryを使用している可能性があります。もしそうでなければ、あなたはまだコンセプトを取って普通の古いjavascriptやあなたが使っているものに移植することができます。どこかのページに<script>タグまたはあなたが含まれたJavaScriptファイルのいずれかで

例のマークアップ

<form id="address-form"> 
<input type="radio" name="validate" id="validate_address" value="yes"> Validate<br> 
<input type="radio" name="validate" value="no"> Don't Validate<br> 
Street <input name="street"><br> 
Suberb <input name="suberb"><br> 
Postcode <input name="postcode"><br> 
<input type="submit"> 
</form>​​​​​ 

条件検証

、前のラジオ入力の値をチェックします提出するイベントを作成します検証を行っています。

$('#address-form').submit(function(event) { 
    if ($('input[name=validate]:checked').val() === 'yes') { 
     if (!formValid()) { 
      event.preventDefault(); // Don't submit the form 
     } 
    } 
}); 

// Perform validations 
function formValid() { 
    if ($('input[name=street]').val().length == 0) { 
     // tell them ... 
     return false; 
    } 
    if ($('input[name=suberb]').val().length == 0) { 
     // tell them ... 
     return false; 
    } 
    if ($('input[name=postcode]').val().length == 0) { 
     // tell them ... 
     return false; 
    } 

    return true; 
} 

これはトリックを行う必要があります!代わりに

それは、チェックボックスを使用するためにかなり似ているhttp://jsfiddle.net/nilbus/JNnuX/2/

チェックボックスを使用して -

は、私はあなたがしたい場合は、さらにあなたがして混乱することができますjsfiddleを作成しました。この代わりに

if ($('input[name=validate]:checked').val() === 'yes') { 

チェックボックスがオンになっているかどうかを確認してください。

if ($('input[name=validate]').attr('checked')) { 

http://jsfiddle.net/nilbus/JNnuX/3/

1

/*従業員の詳細ページにラジオの検証を確認するには、*/

function editPage() 
{ 
var select=document.frmEmployeeDetails.radSelect; 
if (radioValidate(select,"Select an Employee")) 
     { 
window.open("EditEmployee`enter code here`.html","_self"); 
     } 
return false; 
} 

この例では、あなたの友人がお役に立てば幸いです。

関連する問題