【问题标题】:How to re-enable submit for form after it has been prevented如何在被阻止后重新启用表单提交
【发布时间】:2013-07-08 17:54:31
【问题描述】:

好的,这个问题最初被问得很糟糕。这是更多信息和我的大量代码。此代码背后的想法是一个 aspx 表单,它具有用户输入信息,然后使用提交按钮使用 C# 将代码提交到 mySQL 服务器。当他们忘记输入推销员时,会打开一个对话框,要求他们再次输入推销员。

这是对话框的代码。

<div id="dialog" title="Dialog Title"><asp:label id="lblSalesman" onChange="GetSalesman()" Runat="server" /></div>   //THE ASP:LABEL REFERS TO A DROP DOWN LIST THAT WAS CREATED AND POPULATED BY c#.
   <script type="text/javascript" language="javascript">
       function stopSubmit() {
        $('form').bind('submit', function (event) {
        event.preventDefault();
       });
                             }

      $("#dialog").dialog({
        autoOpen: false,
        modal: true,
        buttons: {
        "Save": function () {

      $('#btnSubmit').click('btnSubmit');   //THIS IS SUPPOSED TO CLICK A BUTTON ON THE ORIGINAL ASPX FORM THAT WILL TRIGGER C# TO SUBMIT THE FORM TO A MYSQL SERVER
      $(this).dialog("close");
         }
        }
      });

      $("#opener").click(function () {
          stopSubmit();                      
          $("#dialog").dialog("open");
      });

   </script>

所有的大写字母都是你们的。

此对话框由验证语句触发。如果验证失败,则对话框运行。我把这个,

$('form').bind('submit', function (event) {
        event.preventDefault();

在一个函数中,所以如果这段代码没有运行,那么如果验证结果为真,我原始表单上的提交按钮仍然有效。这有效地阻止了对话框在触发对话框后重新加载页面。问题是对话框中的SAVE按钮无法运行$'(#btnSubmit').click('btnSubmit');因为 event.preventDefault 防止按钮内置的提交不起作用。有什么方法可以撤消 event.preventDefault() 或其他方式提交表单?

【问题讨论】:

  • 所以标题和标签中的jquery对话框实际上是一个完整的红鲱鱼?

标签: jquery forms dialog


【解决方案1】:

&lt;form onsubmit="return false"&gt;&lt;/form&gt; 会起作用的

$("#btnSubmit").trigger("click");

【讨论】:

  • 这使对话框无法重新加载页面,但我的表单提交按钮仍然损坏。
  • 它会起作用的。如果您仍有问题,请发布有问题的代码
  • Richard@ 根据我对您的附加信息的理解,您正在尝试类似以下场景:如果表单验证为假,则会显示对话框并且不应提交表单。如果表单验证为真,则应提交表单。第一:将验证表单中的对话框置于错误条件下。第二:在提交按钮上写:- onclick="return validation()" 注意:return 应该提到
  • 我已经重做了这个问题。这应该会让事情变得不那么混乱。
  • $('#btnSubmit').click('btnSubmit');在这我看不到试图执行的处理程序“btnSubmit”。
【解决方案2】:

此代码将停止脚本返回服务器。返回 false 停止在客户端执行脚本

$('form').on('submit', function(event){
return false;
});

【讨论】:

  • 这使对话框无法重新加载页面,但我的表单提交按钮仍然损坏。
  • @Richard 你能提供你的 HTML 吗?
【解决方案3】:

对于这个问题的所有困惑,我们深表歉意。对我来说,这确实是一个桃子。我找到了答案。我使用下面的代码让提交再次工作。

$('form').unbind('submit');

这只是解除绑定

event.preventDefault();

来自提交事件。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-13
    • 1970-01-01
    • 2012-09-11
    • 1970-01-01
    相关资源
    最近更新 更多