2014-11-21 21 views
1

與jquery和手機爭執不休,發現我的表單驗證在手機上的95%的工作方式(罰款在桌面上)。我的意思是我的代碼(下面)會檢查輸入是否有值,如果不是,則返回警報。如果他們都有價值然後提交。但是,當所有輸入有效時,我的提交按鈕不起作用。帶驗證的表單不會在手機上提交

我認爲可能是onsubmit =「return false」在表單標籤中,但刪除它什麼也沒做。真的很難受這個,並會愛一些jQuery專家的經驗。 (我看過網站上的其他問題,但似乎沒有任何幫助解決我的問題)

jquery代碼在下面,我已將整個窗體放在jsfiddle中。我在想什麼,在此先感謝

http://jsfiddle.net/wgw3p9ee/1/

function vForm() { 
$('#fSubmit').click(function() { 
    if (0 === $('#fname').val().length) { 
     alert('Please Enter Your First Name.'); 

    } else if (0 === $('#lname').val().length) { 
     alert('Please Enter Your Last Name.'); 

    } else if (0 === $('#address').val().length) { 
     alert('Please Enter Your Address.'); 

    } else if (0 === $('#city').val().length) { 
     alert('Please Enter Your City.'); 

    } else if (0 === $('#mailState').val().length) { 
     alert('Please Enter Your State.'); 

    } else if (0 === $('#zip').val().length) { 
     alert('Please Enter Zipcode.'); 

    } else if (0 === $('#email').val().length) { 
     alert('Please Enter Email.'); 

    } else if (0 === $('#phone').val().length) { 
     alert('Please Enter Your Phone Number.'); 

    } else { 
     $("form").submit(); 
    } 
}); 

} 

回答

0

我看到有些鬆動結束標記。

</h2> 
    </div> 
    <div class="liNav"> 
     <input type="button" value="SUBMIT" id="fSubmit" onclick="vForm();" /> 
</form> 

你可以用這個替換這些行:

<div class="liNav"> 
    <input type="button" value="SUBMIT" id="fSubmit" onclick="vForm();" /> 
</div> 

</form> 

還有一個大問題:每次按鍵,就可vForm()稱爲提交。 vForm()每次單擊提交按鈕時都會爲提交按鈕實例化一個點擊處理程序 - 這就是爲什麼在您第一次單擊提交時不會發生任何事情。您只需要一個點擊處理程序即可完成工作,因此可以將function vform() {位與#fSubmit元素的onclick屬性一起刪除。我的意思是。

+0

嗨@alex,感謝您的提示,必須複製並粘貼錯誤的結尾標籤 - 我看到小提琴的作品,目前的代碼是在,仍然不能在手機上工作..我缺少一些東西 – DEM 2014-11-21 21:53:30

+0

它在普通瀏覽器上工作嗎?你是否遇到任何控制檯錯誤? – alex 2014-11-21 23:43:37

+0

嗨@alex,我終於搞定了,我錯過了一些小的錯字,感謝您的幫助 – DEM 2014-11-24 18:18:12