【问题标题】:form submission using ajax-jquery and stopping the normal html submission使用 ajax-jquery 提交表单并停止正常的 html 提交
【发布时间】:2016-10-24 22:23:32
【问题描述】:

我正在处理一个 html 表单,我正在使用一个 jquery ajax 函数,该函数在带有 onSubmit 的标记中调用,但问题是当用户按下提交按钮或输入时,表单被提交并且页面被刷新并且 ajax未执行函数会导致不希望的输出。 我如何才能停止正常提交并仅使用 ajax 函数进行表单提交以及为什么 ajax 函数没有被执行..我什至尝试了 jquery 的 .submit 属性但没有发生任何事情。 请提出一些技巧/方法来处理它。谢谢

【问题讨论】:

  • 你需要分享你的代码html/js。
  • gevorg..我使用 onBlur 对输入标签使用了相同的 ajax 函数,它工作正常..现在当我将它用于带有 onSubmit 的表单时它不起作用..所以我知道我的代码很好,但我只是想停止那个 html 表单提交并且只使用 ajax-jquery 来完成它。我试图发布代码
  • 在这种情况下,只需在您的onSubmit 方法中使用return false,它将取消常规提交。
  • 我也这样做了,但它没有发生..页面被刷新而不是调用js函数..代码可以在cmets部分共享吗??
  • 只需将其包含在您的问题中或在 jsfiddle.net 中分享并通过链接。

标签: ajax


【解决方案1】:

要禁用表单提交,请将您的代码更改为以下内容:

<form action="/"  method="POST" onSubmit="return comment();">
    ...
</form>
function comment() {
   ...
   return false;
}

工作示例在这里 https://jsfiddle.net/gevorgha/5dyc2ye9/ ,尝试将 return false; 更改为 return true; ,您将看到提交。

【讨论】:

  • @Zaki Mustafa,它对你有用吗?如果是的话,接受这个作为答案是有意义的。
【解决方案2】:

您可以通过使用来阻止提交事件的默认行为

$( "#target" ).submit(function( event ) {
  event.preventDefault();
});

这可以在 JQuery 文档https://api.jquery.com/submit/中找到

【讨论】:

猜你喜欢
  • 1970-01-01
  • 2012-04-22
  • 1970-01-01
  • 1970-01-01
  • 2013-04-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多