2012-04-23 70 views
1

我想驗證使用HTML5中的選擇字段;它在Chrome和FF瀏覽器中運行得非常好,但是當我在IE和Safari中嘗試時,它無法正常工作。我嘗試使用JavaScript來讓它起作用,但我仍然遇到同樣的問題。請幫助我。我的代碼樣本是在這裏:HTML5驗證不工作在IE和Safari

如何解決它,因此相同的代碼可與所有四個瀏覽器?

+0

你在你的onclick一個錯字,'validat',而不是'validate' – 2012-04-23 03:17:40

回答

1

而不是提交按鈕的onclick,最好是有這樣的:

<script type="text/javascript"> 
function validate(f) { 
    if (f.empty.value == '') { alert('you must enter text'); return false; } 
    if (f.select_box.value == '') { alert('you must select something'); return false; } 
} 
</script> 

<form name="form1" action="test2" onsubmit="return validate(this)"> 
... 
<input type="submit" value="Go!" /> 
</form> 

編輯:validate(this)將調用validate功能和本身(的形式)通過爲f。然後,表單中的字段可以通過名稱refered到(如emptyselect_box

希望這有助於:)

+0

感謝傑克,它的正常工作。你是男人。 – 2012-04-23 03:34:15

+0

嗨,傑克,我如何使用確切的功能來驗證電子郵件字段?如果(f.email.value ==''){alert('請輸入正確的電子郵件!');返回false; }但我希望該字段能夠使用所有這些/^[a-zA-Z] +([_ \。=]?[a-zA-Z0-9] +([ \ .-]?[a-zA-Z0-9] +)'(\。[a-zA-Z](2,4))等等,謝謝 – 2012-04-23 03:51:00

+0

嗨,這會讓你走上正軌: http://www.white-hat-web-design.co.uk/blog/javascript-validation/ - **但是請記住,使用正則表達式檢查電子郵件地址是棘手的,您仍然需要服務器端驗證當然:) – 2012-04-23 03:59:44

0

我用jQuery Validation Plugin

<script type="text/javascript"> 
     window.onload = function() { 
       var button = document.getElementById("submit-button"); 
       button.onclick = function() { 
       $('#form-name').validate(); 
       if($('#form-name').valid() == false) { 
        return false; 
        } 
       } 
      }; 
    </script>