[英]How to set a different custom validity for different inputs
Can the javascript below to individually have different custom validity depending on what information is actually being entered in the field. 下面的JavaScript可以根据实际在字段中输入的信息来单独具有不同的自定义有效性。 eg.
例如。 For Name: "please enter a name".
对于名称:“请输入名称”。 For Location: "please enter a location. The loop part in the script is confusing me a little!
对于位置:“请输入一个位置。脚本中的循环部分使我有些困惑!
HTML HTML
<form id="sidebarform" onsubmit="return false" method="post" name="myForm" >
<input type="text" name="name" id="username" placeholder="Name (eg. Rob James)"required><br>
<input type="text" name="location" id="userlocation" placeholder="Location (eg. Wacol)" required><br>
<input type="submit" id="sidebarformsubmit" value="Submit">
</form>
JAVASCRIPT JAVASCRIPT
<script >
$(document).ready(function() {
var elements = document.getElementsByTagName("INPUT");
for (var i = 0; i < elements.length; i++) {
elements[i].oninvalid = function(e) {
e.target.setCustomValidity("");
if (!e.target.validity.valid) {
e.target.setCustomValidity("Please enter a name.");
}
};
elements[i].oninput = function(e) {
e.target.setCustomValidity("");
};
}
})
</script>
I was following this question for the initial custom validity. 我遵循此问题的最初的自定义有效性。
HTML5 form required attribute. HTML5表单必填属性。 Set custom validation message?
设置自定义验证消息?
How about using a selector other than just getting everything by tagName, and then set whatever validity you want 除了通过tagName获取所有内容,然后设置所需的有效性以外,如何使用选择器
$(document).ready(function () {
$('#username').on({
invalid: function (e) {
e.target.setCustomValidity("");
if (!e.target.validity.valid) {
e.target.setCustomValidity("Please enter a name.");
}
},
input: function(e) {
e.target.setCustomValidity("");
}
});
$('#userlocation').on({
invalid: function (e) {
e.target.setCustomValidity("");
if (!e.target.validity.valid) {
e.target.setCustomValidity("Please enter a location.");
}
},
input: function(e) {
e.target.setCustomValidity("");
}
});
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.