0
私は選択したオプションに基づいてドロップダウンフィールドでjQueryの検証を使用しています。次の入力フィールドを検証する必要があります。つまり、次のフィールドに英数字を使用できます。そのために私は正規表現を使用しています。 Adharカードのみを選択した場合は、次の入力フィールドに数値を入力できます。 ユーザーがドロップダウンオプションをクリックすると、それを検証したいと思います。私は試みましたが、コードは機能しません。それが間違っている私のコードを確認してください。選択されたオプション値に基づいてフォーム入力フィールドを検証する方法は?
$('#idproof').change(function() {
var selection = $(this).val();
if (selection == 'pan') {
var val = document.registration.idnumber;
var numbers = /^[0-9]+$/;
if (val.value.match(numbers)) {
document.registration.zip.focus();
return true;
} else {
$('#error').empty();
$('#error').append('pan number must have numeric characters only');
val.focus();
return false;
}
} else if (selection == 'Adhar') {
var adhar = document.registration.idnumber;
var letters = /^[0-9a-zA-Z]+$/;
if (val.value.match(letters)) {
document.registration.zip.focus();
return true;
} else {
$('#error').empty();
$('#error').append('Adhar number must have alphanumeric characters only');
val.focus();
return false;
}
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.4/jquery.min.js"></script>
<div id="error"></div>
<form id="reg" name="registration">
<ul>
<li>IdProof:
<select id="idproof">
<option value="Default">Please select a id type</option>
<option value="pan">pancard</option>
<option value="Adhar">AdharCard</option>
</select>
</li>
<li>Id Number:
<input type="text" id="idnumber" />
</li>
</ul>
</form>
メッセージを表示する前に空の入力をチェックする方法を私に提案してください。 –
私は、 '' 'if(val.value || val.value === 0)' ''に対する余分なチェックを追加しました。したがって、入力が0かテキストがある場合にのみ検証が実行されます.0が許可されていない場合は、 '' '|| val.value === 0) '' ' – WheretheresaWill