$.submit()不起作用
$.submit() not working
这是一件很简单的事情,至少我是这么认为的。但我就是不明白为什么会这样…
jQuery的.submit()
方法看起来很简单——传递给它一个函数,它充当侦听器。不要传递任何东西,它调用.trigger('submit')
。但在过去的24小时里,它一直让我非常头疼。
基本上我想做的是建立一个简单的验证脚本。用户单击表单上的提交按钮,运行一个函数来验证输入,如果一切正常,则表单提交(默认方式,在此场景中没有花哨的ajax)。问题来了,当试图调用.submit
上无论是jQuery对象或只是普通的'ole HTML DOM元素对象。我已经了解到,jQuery杀死原生.submit
在HTMLFormElement,所以它是有道理的,为什么它不工作(我猜,但这似乎很愚蠢)。但是…为什么jQuery的.trigger('submit')
(或简称.submit()
)不能工作?
示例(或者看一下小提琴):
HTML:<form class="comment-form" action="#" method="get">
<input type="submit" id="submit" name="submit" value="submit"/>
</form>
JavaScript: $('.comment-form').on('click', '#submit', function(e) {
var form = e.delegateTarget;
e.preventDefault();
// For the purpose of demonstration, just setting it true
if (true) {
form.submit(); // object is not a function - this makes sense since jQuery is overriding this
$(form).submit(); // nothin at all :(
$(form).trigger('submit'); // nope, nada
}
});
我确实找到了一个解决办法,通过调用使用.call()
对HTMLFormElement原型的形式,但为什么我要这样做?
为什么?为什么?为什么?
您将按钮命名为submit
,因此form.submit
现在是按钮,而不是提交函数。
换句话说,你只是删除了本地提交函数并用你的按钮代替了它,这就是为什么你会得到错误"object is not a function"。
将按钮的名称更改为submit
以外的东西,它将工作
小提琴
相关文章:
- Document.form.submit() 不起作用
- jquery-submit函数不起作用
- using document.forms[“MbrForm”].submit();不起作用
- JQuery 对话框 / submit() 在 IE8 中不起作用
- 如果 ajax 刷新了绑定对象,则 .submit 不起作用
- jQuery .submit( [callback] ) 中的 .click 不起作用
- 角度 ng-submit 不起作用
- JavaScript submit() 后跟 self.close() 不起作用
- jquery-submit不起作用
- Ng-click和ng-submit不起作用
- 当函数被调用'submit'时,表单onSubmit不起作用
- $.submit()不起作用
- Javascript form.submit()在Firefox中不起作用
- AngularJS的ng-submit输入键不起作用
- Submit();不起作用
- jQuery .append在.submit上不起作用
- 在CakePHP中使用.submit()似乎不起作用
- .submit()函数在ajax()函数中不起作用
- form.submit()方法中的setTimeout不起作用
- 的形式.submit方法在jQuery中不起作用