如何在两个字段中更改默认"请填写此字段"

God*_*her 12 html5

我想在两个字段中输入两个不同的消息,例如,用户名和密码字段包含"用户名不能为空"和"密码不能为空"等消息.我只是设法改变了消息,但两个字段都是一样的.就在这里

$(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("Username cannot be blank");
        }
    };
    elements[i].oninput = function(e) {
        e.target.setCustomValidity("");
    };
} })
Run Code Online (Sandbox Code Playgroud)

scr*_*ppy 14

对不起,我的代码有些错误.试试这个,对我有用:

$(document).ready(function() {
var msg="";
var elements = document.getElementsByTagName("INPUT");

for (var i = 0; i < elements.length; i++) {
   elements[i].oninvalid =function(e) {
        if (!e.target.validity.valid) {
        switch(e.target.id){
            case 'password' : 
            e.target.setCustomValidity("Bad password");break;
            case 'username' : 
            e.target.setCustomValidity("Username cannot be blank");break;
        default : e.target.setCustomValidity("");break;

        }
       }
    };
   elements[i].oninput = function(e) {
        e.target.setCustomValidity(msg);
    };
} 
})
Run Code Online (Sandbox Code Playgroud)


小智 5

您可以使用此代码。

   <input type =“ text” required =“” name =“用户名” placeholder =“用户名” oninvalid =“ this.setCustomValidity('用户名不能为空')”>
   <input type =“ password” required =“” name =“ password” placeholder =“ Password” oninvalid =“ this.setCustomValidity('Password不能为空')”>