2012-01-13 93 views
0

以下FF和Chrome版本完美无瑕。什么是IE8抱怨?为什么我在IE8中使用JQuery的form.Submit()时会出现异常?

<!DOCTYPE html> 
<html> 
    <head> 
     <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.1.min.js" type="text/javascript"></script> 
     <script src="http://ajax.aspnetcdn.com/ajax/jquery.validate/1.9/jquery.validate.js" type="text/javascript"></script> 
    </head> 
    <body> 
     <form action="http://www.thisurlisfake.com" id="myForm" method="post"> 
      <input type="text" id="myText" class="required" /> 
      <input type="submit" id="submit" name="submit" /> 
     </form> 
     <script language="javascript" type="text/javascript"> 
      jQuery(document).ready(function() { 
       jQuery("#myForm").validate(
       { 
        submitHandler: function (form) { 
         form.Submit(); 
        } 
       }); 
      }) 
     </script> 
    </body> 
</html> 

如果您没有向文本框中输入任何内容,JQuery验证将工作并显示警告消息。

如果您将某些东西放入文本框中,JQuery验证会成功并调用我的submitHandler代码。很明显,我已经删除了所有额外的逻辑,但基本上在最后它应该调用form.Submit()。

但是,这一行“form.Submit();”生成“错误:对象不支持此属性或方法”

+2

应该不是被form.submit()机智小写'''? – kinakuta 2012-01-13 09:16:38

回答

2

更改IDname的提交按钮。

从:
其他注意事项:
形式及其子元素不应该使用输入名称或ID与表格的属性,如提交,长度或方法冲突。名称冲突可能导致令人困惑的失败。

+0

这是正确的!正如form.submit()的情况一样。哇,我总是使用“提交”作为名称:(def时间来纠正这种坏习惯! – Justin 2012-01-13 09:25:36

3

我看不出在任何浏览器中如何工作。没有Submit方法。 Javascript是大小写敏感的。改为使用submit

+0

你碰巧也是正确的! – Justin 2012-01-13 09:26:51

0

我不知道到底是什么是你想这样做,但提交表单,你必须做一些事情,如:

$("form").on("submit", function(event){...}); 

$("form").submit(function(event){...}); 

在{。 ..}部分,你验证,不管你有来验证,如果sucess,你做的Ajax请求:

$.ajax({...}); 
相关问题