试图验证表单

时间:2012-08-11 06:41:16

标签: javascript forms validation

尝试学习JavaScript,我想是好的进步,但我坚持验证一个表单,试图看看是否有人有同样的问题,搜索没有改变任何东西。那你能帮帮我吗?

    var minlength = 6;
var pwlength = document.getElementById('psswrd');
var invalid = " ";

function validate() {

    if (pwlength.length < minlength && pwlength == invalid) {
        alert("Password not valid");

    else { 
        alert("Password okay!");
    }
}

submitbtn.onClick = validate();

3 个答案:

答案 0 :(得分:1)

  • 你在哪里调用它并不明显 - 我把它包装在window.onload
  • 您没有正确访问该按钮。两者之一 document.forms[0].submitbtn document.getElementById("submitbtn")document.getElementsByName("submitbtn")[0]将根据您对按钮的命名或ID的方式工作,但不指定onclick处理程序提交按钮,而是将提交处理程序分配给表单
  • 没有必要对单个空间进行测试,因为它总是少于6个字符。
  • &安培;&安培;是AND,你的意思是|| OR
  • onclick必须全部小写。
  • 您将onclick分配给validate而不是validate
  • 的结果
  • 您不会停止提交

我从here开始修剪 我假设表格有ID =“form1”

window.onload=function()
  document.getElementById("form1").onsubmit = validate;
}

if(typeof String.prototype.trim !== 'function') { // let's help older IEs
  String.prototype.trim = function() {
    return this.replace(/^\s+|\s+$/g, ''); 
  }
}

function validate() {
  var minlength = 6;
  var pw = document.getElementById('psswrd');
  if (pw.value.length < minlength || pw.value.trim() == "") {
    alert("Password not valid");
    pw.focus();
    return false;
  }
  return true; // allow submission  
}

答案 1 :(得分:0)

var minlength = 6;

var pwlength = document.getElementById('psswrd');

var invalid = " ";

function validate() {

    if (pwlength.length < minlength && pwlength == invalid) {
        alert("Password not valid");
}

    else { 
        alert("Password okay!");
    }
}

答案 2 :(得分:0)

这里有一些问题。

1) pwlength.length 不会让你走得太远。 pwlength等于html对象,而不是html对象的值。将实际变量更改为以下内容,您应该得到正确的结果:

var pwlength = document.getElementById('psswrd').value;

2)在else语句的if ... else部分之前,您需要通过用大括号(if)关闭它来结束}语句。将该部分更改为以下内容:

} else {

3)验证以检查长度== invalid是否为奇数。仔细检查并摆脱它。

4)你的onclick事件需要看起来像这样:

submitbtn.onclick = function(){ validate() };

注意:小写事件关键字和function() { ... };围绕您要运行的功能。