繁体   English   中英

如何使用javascript发送表单而不重定向?

[英]How to send a form using javascript without being redirected?

我用来处理submit(callback) jQuery方法,在回调中我序列化我的表单并做一个ajax post调用。

但这一次,我需要上传一个文件,这个方法似乎不起作用,所以我尝试用submit() jQuery方法直接提交表单,但我无法避免重定向,但是我调用e.preventDefault(); 之前:

$('form.input.upload').change(function(e) {
  e.preventDefault();
  $('form.example').submit();
});

你必须在<form>onsubmit事件中执行preventDefault ,而不是在<input>onchange事件中:

$("form.example").on("submit", function (e) {
  // preventing browser's native form submit
  e.preventDefault();
});

$("form.example input.upload").on("change", function (e) {
  // auto-submit if input.upload changed
  $("form.example").submit();
});

更新:在我编辑之前,我并不完全正确。 通过单击<input type="submit">或在任何聚焦的<input>按Enter键将触发onsubmit事件。 但是:如果以编程方式调用submit()函数,则不会触发事件。

好吧,深入思考,你真正的问题 - 文件上传 - 比我的答案有点困难。 通过评论链接问题有一个非常好的答案;)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM