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