2013-05-14 43 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');" >