Javascript表单验证问题

时间:2015-09-14 00:33:19

标签: javascript validation

好吧,所以我觉得我的问题是一个非常简单的问题。基本上,我创建了一个网站,并尝试使用javascript来验证输入,所有这些最初都是一个。当输入字段留空时,会出现错误等等。我还没有改变任何一件事,现在没有任何形式的验证,它只是忽略了我的javascript。有什么想法吗?

这是Javascript的一个例子;

function validate(el){
var alphabets="abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ ";
var temp;

if (el.Full_Name.value == "") {
     alert("Cannot leave area field blank!");
     return false;
 }
}

for (var i=0;i<el.Full_Name.value.length;i++){
temp=el.Full_Name.value.substring(i,i+1)
if (alphabets.indexOf(temp)==-1){
alert("Sorry, your name contains a " + temp +", which is not allowed.")
return false
   }
  }

这是HTML:

<form name="testform" onSubmit="return validate(testform)">
<table width="650" border="0">

<tr>
 <td width="79" valign="top">
  <label for="Full_Name">Full Name<span class="required_star"> * </span></label>
 </td>
 <td width="289" valign="top">
  <input size="15" type="text" name="Full_Name" id="Full_Name" maxlength="50" value="" />
 </td>
</tr>
<tr>
 <td colspan="4" style="text-align:center">
  <input type="submit" value="Proceed"/>
 </td>
</tr></table>
</form>

2 个答案:

答案 0 :(得分:3)

你可以加快/简化一些事情:

<form name="testform" onSubmit="return validate(this)">

注意使用&#39;这个&#39; - 它实际上是指表单元素本身......

JS:

 function validate(el) {
if (el.Full_Name.value == "") {
     alert("Cannot leave area field blank!");
     return false;
 }
}

演示:http://jsfiddle.net/tv9hntkL/

P.S。在您的情况下,正确的选择器将是:(document.testform.Full_Name.value == "")

答案 1 :(得分:1)

您正在错误地访问表单输入。

var myForm =  document.forms.<form-name>;
myForm.<input-name>.value; // holds the value of a certain input

将允许您正确访问该值。