2012-04-23 73 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>