【问题标题】:prevent postback using jquery,javascript使用 jquery,javascript 防止回发
【发布时间】:2013-06-18 08:59:58
【问题描述】:

这是我的 HTML 代码

<form id="form1" runat="server">
    <input id="q" required />
    <input id="btn" type="submit" value="Search" />
</form>

我正在尝试 asp.net 中的 HTML 5 required 功能。上面的代码有效。但也会发生回发。有没有办法使用 JavaScript、jQuery 或任何其他方法防止回帖?我尝试使用 jQuery 阻止回帖

 $(document).ready(function () {
        $('#btn').click(function (evt) {
            evt.preventDefault();
        });
    });

但这使得required 验证不会触发。

注意:表单中有多个按钮。

【问题讨论】:

  • 请不要使用“leetspeak”。问题没有字数限制。它是“are”而不是“r”。

标签: javascript jquery asp.net html


【解决方案1】:

将“click”事件改为“submit”,并且不绑定到btn,而是绑定到form

$(document).ready(function () {
    $('#form1').on("submit", function (evt) {
        evt.preventDefault();
    });
});

【讨论】:

  • 但是如果我在表单上有多个按钮怎么办
  • 你为什么在乎?我以为我们正在讨论提交表单。您可以在表单中有 5 个提交按钮 - 没有人会工作,因为“提交”事件会触发回发
  • 我们正在讨论防止回发,并保持所需的 html5 功能完好无损。如果我在表单上有超过 1 个按钮,这将不起作用
  • @iBlue" 为什么?你试过了吗?请详细说明。它对我来说很好:jsfiddle.net/8uk3b/1
  • 是的,在你的小提琴中你没有正确使用它。如果你想要两个单独的字段,两个单独的按钮,你当然应该使用两个单独的表单:)
【解决方案2】:

这里是updated JsFiddle,它有两个输入(一个是必需的)和两个按钮(一个是提交)。

HTML:

<form id="form1" method="get" action="http://example.com">
<input id="q" required />
<input id="w"  />

<input id="btn" type="button" value="Cancel" />
<input id="btn" type="submit" value="Submit" />

Javascript

    $('#form1').on("submit", function (evt) {
    evt.preventDefault();
});

如果这不能回答您的问题,请详细说明

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-06-02
  • 2011-07-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多