我的输入文本字段应该只允许数值0-9
,并且应该正好是八位数字。这应该由onChange
事件控制。一旦用户完成输入验证,应该触发。如果值正确,Ajax 请求将到达服务器,如果不是,用户应该会像 HTML 5 验证中的其他消息一样看到该消息。这是我的代码示例:
$('#userid').on('change', checkUser);
function checkUser(e) {
var fldObj = $(this);
if (!e.target.checkValidity()) {
fldObj[0].setCustomValidity('Invalid User ID.');
console.log(fldObj.val());
} else {
//send ajax request
console.log('User ID is valid!');
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<input type="text" name="userid" id="userid" value="" pattern="[0-9]{8}" placeholder="Enter User ID">
我的代码工作不正确。如果我输入无效值,我看不到该消息。如果有人知道消息未显示的原因,请告诉我。