2011-07-07 81 views
0

我正試圖將一些Javascript表單驗證放在一起,以檢查提交前所有字段是否已完成。Javascript表單驗證問題

到目前爲止,我有這在我的標籤,並僅用於第一個窗體域的功能:

<script type="text/javascript"> 

function validate(form) { 
fail = vaildatecompany_name(preview.company_name.value) 

if (fail =="" return true 

else { alert(fail); return false } 
} 

function validatecompany_name(field) { 
    if (field == "" return "No Company Name was entered. \n" 
return "" 
} 
</script> 

我試圖驗證第一場:

<form action="jobpreview.php" name = "preview" method="post" form enctype="multipart/form-data" onSubmit = "return validate(this)"> 

<ul> 
<li><label for = "company_name">Company Name</label>  
<input type="text" name="company_name"/> 
</li> 

燦有人解釋我做錯了什麼?當我提交表單時沒有提及任何提醒,並且只是照常進行。

感謝 丹

回答

2

您的代碼充滿了錯誤秒。您拼寫錯了validatecompany_name功能的電話號碼,您的if語句未正確組成(錯誤的首字母括號),並且您沒有正確通過form變量(您可以互換地使用previewform)。這工作,雖然它不是偉大的代碼:

function validate(form){ 
    var fail = validatecompany_name(form.company_name.value); 
    if (fail==""){ 
     return true; 
    } else { 
     alert(fail); 
     return false; 
    } 
    } 

function validatecompany_name(field){ 
    if (field == "") return "No Company Name was entered. \n"; 
    return ""; 
} 
+0

順便說一句,你不需要'在你從'validatecompany_name'返回的時候,它沒有任何實現。 – Ben

+0

感謝Ben,這實際上是從O'Reilly的一本書中複製而來的(但我代表的拼寫錯誤很糟糕)。感謝您的時間,這是現在工作。謝謝,丹 – Dan

+0

我們至少可以做'return(field ===「」)嗎?「沒有公司名稱被輸入」:「」;' – mplungjan

1

您需要在右括號你的if語句if (BOOLEAN)

+0

嗯,這是一個有點尷尬!好的,我已經把關閉的圓括號放進去了,但它仍然不能識別提交時的空白字段。有任何想法嗎? – Dan

0

笏是這個說法不正確的倒閉...... if (field == "" return "No Company Name was entered. \n"應該像if (field == "") return "No Company Name was entered. \n"

,你不能直接訪問的形式按名稱..使用document.formname或使用您通過的表單對象...

+0

在alert中檢查'preview.company_name.value'的值...並註釋所有其他代碼...也嘗試'if(field.trim()==「」)' – Dinash

1

平原和未花式JavaScript驗證:

<script type="text/javascript"> 
function validate(form) { 
    var company_name=form.company_name; 
    if (company_name.value=="") { 
    alert("Please enter company name"); 
    company_name.focus(); 
    return false 
    } 
    var company_phone=form.company_phone; 
    if (company_phone.value=="") { 
    alert("Please enter company phone"); 
    company_phone.focus(); 
    return false 
    } 
    return true; // allow submission 
} 
</script> 

<form action="jobpreview.php" method="POST" 
enctype="multipart/form-data" onSubmit="return validate(this)"> 

<ul> 
<li><label for = "company_name">Company Name</label>  
<input type="text" name="company_name"/> 
</li> 
. 
. 
. 
</form> 

如果你需要什麼比票友,看看jQuery的確認,而不是

+0

感謝您的回答:) – Dan

+0

@DAN歡迎您。我的建議對你來說更容易維護。它會一次顯示一個錯誤,並將錯誤集中在該字段上 – mplungjan