0

我刚开始使用 JavaScript,想验证一个表单。我发现的所有教程都会为反馈创建警报,但我想使用 onblur 并在该字段旁边提供错误消息。我设法分别完成这两个功能,但无法合并它们。我真的很感谢你的帮助!

这是我想出的,但它不能满足我的需要:

 function validateFirstName()
  {
     var x=document.forms["demo"]["firstname"].value;
     if (x==null || x=="" || x==)
      {
         function addMessage(id, text) 
         {
                var textNode = document.createTextNode(text);
                var element = document.getElementById(id);
                element.appendChild(textNode);
                document.getElementById('firstname').value= ('Firstname must be filled out')
             }

        return false;
      }
  }
4

2 回答 2

0

我不确定你真正在寻找什么。如果我理解正确(而且我可能非常错误),您正在寻找类似的东西:

var x = undefined; // Can be undefined, null, or empty string
if (x==null || x=="" || x==undefined) { // do no forget to check for undefined
    function addMessage(id, text) { 
        // Your validation code goes here
        alert(id + text);
    };
    addMessage(1234, "Mandatory field!");
}

请注意,有几种方法可以做到这一点。我只是展示我能想到的最简单的方法......

于 2013-05-18T21:32:34.523 回答
0

因此,以下是一种简单的方法来验证表单字段,方法是在提交表单时检查输入的值。在此示例中,错误消息仅发送到有关表单的 div 元素,但这仍然可以帮助您。

HTML 代码如下所示:

<div id="errors"></div>
<form onSubmit="return validate(this);">
<input type="text" name="firstName" placeholder="What's your first name?">
<button type="submit" value="submit">Submit</button>
</form>

Javascript 代码如下所示:

function validate(form) {
var errors ='';

if(form.firstName.value =="") {
    errors += '<li>Please enter your first name</li>';
}
if(errors !='') { //Check if there are any errors, if there are, then continue
    var message = document.getElementById("errors"); //assigns the element with the id of "errors" to the variable "message"
    message.innerHTML = "<ul>" + errors + "</ul>"; //adds the error message into a list with the error message into the HTML
    return false;
} else {
    return true;
}
}

一旦你理解了这一点,你应该能够自己解决剩下的问题,或者访问http://www.w3schools.com/并查看 javascript 部分来帮助你。

于 2013-05-18T21:36:03.657 回答