2013-01-19 50 views
0

我有一個http://business.uglyopportunities.com/affiliate-signup/註冊表格我的網頁上(向下滾動查看錶單)爲什麼我的表單不能在提交時驗證?

請記住,我不是很好的JS所以這可能是一個簡單的錯誤。

不管怎麼說,這裏是我的表格的第一行,告訴它來驗證:

<form accept-charset="UTF-8" action="xxxxx" class="infusion-form" method="POST" name="myform" onsubmit="return validateForm();"> 

這裏是我的javascript validateForm:

<script type="text/javascript"> 
function validateForm() { 
    var a = document.forms["myform"]["inf_field_FirstName"].value; 
    var b = document.forms["myform"]["inf_field_Email"].value; 
    var c = document.forms["myform"]["inf_field_Phone1"].value; 
    var d = document.forms["myform"][" inf_field_StreetAddress1"].value; 
    var e = document.forms["myform"][" inf_field_City"].value; 
    var f = document.forms["myform"][" inf_field_State"].value; 
    var g = document.forms["myform"][" inf_field_PostalCode"].value; 
    var h = document.forms["myform"][" inf_other_Username"].value; 
    var i = document.forms["myform"][" inf_other_Password"].value; 
    var j = document.forms["myform"][" inf_other_RetypePassword"].value; 

    if (a == null || a == "" || a == "First Name Here") { 
     alert("Please enter your First Name!"); 
     return false; 
    } 
    if (c == null || c == '' || c == "Enter Your Phone Here" || c.length < 9) { 
     alert("Please insert your phone number!"); 
     return false; 
    } 
    if (d == null || d == '' || d == "Street Address」) { 
     alert("Please insert your street address "); 
     return false; 
    } 
    if (e == null || e == '' ||e == "City」) { 
     alert("Please insert your city"); 
     return false; 
    } 

    if (f == null || f == '' || f == "State」) { 
     alert("Please insert your state "); 
     return false; 
    } 

    if (g == null || g == '' ||g == "Postal Code」) { 
     alert("Please insert your postal code"); 
     return false; 
    } 
    if (h == null || h == '' || h == "Username」) { 
     alert("Please insert your username "); 
     return false; 
    } 
    if (i == null || i == '' ||i == "password」) { 
     alert("Please insert your password"); 
     return false; 
    } 
    if (j == null || j == '' || j == "password」) { 
     alert("Please re - type your password ! "); 
     return false; 
    } 




    var emailRegEx = /^[A-Z0-9._%+-][email protected][A-Z0-9.-]+\.[A-Z]{2,4}$/i; 
    if (document.myform.inf_field_Email.value.search(emailRegEx) == -1) { 
     alert("Please enter a valid email address."); 
     return false; 
    } 
} 
</script> 

和不工作。然而,當我用這個代碼,它工作得很好:

<script type="text/javascript"> 
function validateForm() { 
    var a=document.forms["myform"]["inf_field_FirstName"].value; 
    var b=document.forms["myform"]["inf_field_Email"].value; 
    var c=document.forms["myform"]["inf_field_Phone1"].value; 
    if (a==null || a=="" || a=="First Name Here") { 
     alert("Please enter your First Name!"); 
     return false; 
    } 
    if (c==null || c==''|| c=="Enter Your Phone Here" || c.length < 9) { 
     alert("Please insert your phone number!"); 
     return false; 
    } 

    var emailRegEx = /^[A-Z0-9._%+-][email protected][A-Z0-9.-]+\.[A-Z]{2,4}$/i; 
    if (document.myform.inf_field_Email.value.search(emailRegEx) == -1) { 
     alert("Please enter a valid email address."); 
     return false; 
    } 
} 
</script> 

更新的代碼*

<script type="text/javascript">// <![CDATA[ 
function validateForm() { 
    var a = document.forms["myform"]["inf_field_FirstName"].value; 
    var b = document.forms["myform"]["inf_field_Email"].value; 
    var c = document.forms["myform"]["inf_field_Phone1"].value; 
    var d = document.forms["myform"]["inf_field_StreetAddress1"].value; 
    var e = document.forms["myform"]["inf_field_City"].value; 
    var f = document.forms["myform"]["inf_field_State"].value; 
    var g = document.forms["myform"]["inf_field_PostalCode"].value; 
    var h = document.forms["myform"]["inf_other_Username"].value; 
    var i = document.forms["myform"]["inf_other_Password"].value; 
    var j = document.forms["myform"]["inf_other_RetypePassword"].value; 

    if (a == null || a == "" || a == "First Name Here") { 
     alert("Please enter your First Name!"); 
     return false; 
    } 
    if (c == null || c == '' || c == "Enter Your Phone Here" || c.length < 9) { 
     alert("Please insert your phone number!"); 
     return false; 
    } 
    if (d == null || d == '' || d == "Street Address") { 
     alert("Please insert your street address "); 
     return false; 
    } 
if (e == null || e == '' ||e == "City") { 
     alert("Please insert your city"); 
     return false; 
    } 

    if (f == null || f == '' || f == "State") { 
     alert("Please insert your state "); 
     return false; 
    } 

if (g == null || g == '' ||g == "Postal Code") { 
     alert("Please insert your postal code"); 
     return false; 
    } 
    if (h == null || h == '' || h == "Username") { 
     alert("Please insert your username "); 
     return false; 
    } 
if (i == null || i == '' ||i == "password") { 
     alert("Please insert your password"); 
     return false; 
    } 
    if (j == null || j == '' || j == "password") { 
     alert("Please re - type your password ! "); 
     return false; 
    } 




    var emailRegEx = /^[A-Z0-9._%+-][email protected][A-Z0-9.-]+\.[A-Z]{2,4}$/i; 
    if (document.myform.inf_field_Email.value.search(emailRegEx) == -1) { 
     alert("Please enter a valid email address."); 
     return false; 
    } 
} 
// ]]> 
</script> 
+0

定義「不能工作」。什麼在JS控制檯? –

+1

美國廣播公司有更多的字母,全部使用它們! – gdoron

+0

而不是將您的價值觀稱爲a,b,c等 - 爲什麼不使用姓名,電子郵件,電話......? –

回答

1

你有一個空格位置:

var d = document.forms["myform"][" inf_field_StreetAddress1"].value; 
//        ^----------------------- 

你有同樣的問題與e,f,g,h,i,j

而且,你用錯了引號登錄:

"Street Address」 
//    ^-------------- 

,你做到了幾次。

+0

感謝您的幫助,但白色空間似乎並不重要,因爲我改變了它,它仍然沒有驗證功能。我對JavaScript很新,所以你的意思是JS控制檯? – user1953681

+0

@ user1953681,檢查報價標誌。 – gdoron

+0

我改變了引號,現在表格看起來像這樣 – user1953681