2013-05-14 44 views
0

我有以下的HTML代码:错误与表单验证(JavaScript)的

<form name="Register" action="Register.aspx" method="post" runat="server" style="margin-top: 15px;" onsubmit="return validateProfile(FormName='Register');" > 
    <p> Name* : <input id="FirstName" type="text" name="FirstName"/> </p> 
<form> 

而且这段JavaScript代码:

function isEmpty(field) {  
    if (field == "" || field == null) 
    return false; 
} 

function validateProfile(FormName) { 
    var errFname = ""; 
    var Fname = document.forms[FormName]["FirstName"].value; 
    alert(isEmpty(field=Fname)); 
    return false; 
} 

这里的问题是,验证不工作...

我希望如果该字段为空将会有一条警告消息。 解决方案可能非常简单,但我只是用javascript开始leran这种验证。

我不得不在代码中使用isEmpty函数。

+0

你的代码的工作:http://jsfiddle.net/Uy2ha/ – jantimon 2013-05-14 10:09:54

回答

1

变化

validateProfile(FormName='Register'); 

validateProfile('Register'); 

alert(isEmpty(field=Fname)); 

alert(isEmpty(Fname)); 


function validateProfile(FormName) { 
    var errFname = ""; 
    var Fname = document.forms[FormName]["FirstName"].value; 
    return isEmpty(Fname); 
} 
+0

这不会有太大变化 - 会吗? – jantimon 2013-05-14 10:06:03

+0

它会工作.Bcz这是我第一次看到这样的 – PSR 2013-05-14 10:06:54

+0

它不聪明,但我不明白为什么它应该导致错误 – jantimon 2013-05-14 10:08:00

0

的Javascript不允许通过名称

传递函数参数
alert(isEmpty(Fname)); // instead of isEmpty(field=Fname) 
1

你应该使用下面的代码:

function validateProfile(FormName) { 
     var errFname = ""; 
     var Fname = document.getElementById("FirstName").value; 
     alert(isEmpty(Fname)); 
     return false; 
} 

您可以使用文本框的ID,你给它。 和更改与代码的形式标签:

<form name="Register" action="Register.aspx" method="post" runat="server" style="margin-top: 15px;" onsubmit="return validateProfile('Register');" >