JavaScriptvalidation空input字段

问候,我有这个input字段<input name="question"/>我想在提交点击提交button时调用IsEmpty函数。

我试过下面的代码,但没有工作。 任何build议?!

 <html> <head> <title></title> <meta http-equiv="Content-Type" content="text/html; charset=unicode"/> <meta content="CoffeeCup HTML Editor (www.coffeecup.com)" name="generator"/> </head> <body> <script language="Javascript"> function IsEmpty(){ if(document.form.question.value == "") { alert("empty"); } return; } </script> Question: <input name="question"/> <br/> <input id="insert" onclick="IsEmpty();" type="submit" value="Add Question"/> </body> </html> 
 <script type="text/javascript"> function validateForm() { var a=document.forms["Form"]["answer_a"].value; var b=document.forms["Form"]["answer_b"].value; var c=document.forms["Form"]["answer_c"].value; var d=document.forms["Form"]["answer_d"].value; if (a==null || a=="",b==null || b=="",c==null || c=="",d==null || d=="") { alert("Please Fill All Required Field"); return false; } } </script> <form method="post" name="Form" onsubmit="return validateForm()" action=""> <textarea cols="30" rows="2" name="answer_a" id="a"></textarea> <textarea cols="30" rows="2" name="answer_b" id="b"></textarea> <textarea cols="30" rows="2" name="answer_c" id="c"></textarea> <textarea cols="30" rows="2" name="answer_d" id="d"></textarea> </form> 

看到这里的工作示例


您缺less所需的<form>元素。 这里是你的代码应该是这样的:

 function IsEmpty(){ if(document.forms['frm'].question.value === "") { alert("empty"); return false; } return true; } 

HTML:

 <form name="frm"> Question: <input name="question"/> <br /> <input id="insert" onclick="return IsEmpty();" type="submit" value="Add Question"/> </form> 

input字段可以有空白 ,你想要阻止:

 function isEmpty(str){ return !str.replace(/^\s+/g, '').length; // boolean (`true` if field is empty) } 

提示 :删除! 如果需要一个名为ie的函数,则反转逻辑: isValid()

如果用户禁用javascript,我想添加必要的属性:

 <input type="text" id="textbox" required/> 

它适用于所有现代浏览器。

添加一个ID“问题”到你的input元素,然后试试这个:

  if( document.getElementById('question').value === '' ){ alert('empty'); } 

您当前的代码不起作用的原因是因为您没有FORM标签。 此外,不推荐使用“name”进行查找,因为它已被弃用。

请参阅@Paul Dixon在这篇文章中的回答: “名称”属性是否被认为过时了<a>锚标签?

 if(document.getElementById("question").value.length == 0) { alert("empty") } 
 if(document.getElementById("question").value == "") { alert("empty") } 

只需添加一个ID标签到input元素…即:

并检查你的元素的值javascript:

的document.getElementById( “问题”)。值

噢,得到火狐/萤火虫。 这是做JavaScript的唯一方法。