以下在FF和Chrome上完美运行。什么是IE8抱怨?
<!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 Validation会成功并调用我的submitHandler代码。显然我已经删除了所有额外的逻辑,但基本上最后它假设调用form.Submit()。
但是,这一行“form.Submit();”生成“错误:对象不支持此属性或方法”
答案 0 :(得分:3)
我看不出它在任何浏览器中的效果如何。没有Submit
方法。 Javascript是案例性的。请改用submit
。
答案 1 :(得分:2)
更改提交按钮的ID
和name
。
来自docs:
附加说明:
表单及其子元素不应使用与表单属性冲突的输入名称或ID,例如提交,长度或方法。名称冲突可能导致令人困惑的失败。
答案 2 :(得分:0)
我不知道你想要做什么,但要提交表格,你必须做以下事情:
$("form").on("submit", function(event){...});
或
$("form").submit(function(event){...});
在你验证的{...}部分,无论你需要验证什么,如果成功,你都要执行ajax请求:
$.ajax({...});