2013-07-08 59 views
1

确定这个问题最初被问得不好。这里有更多的信息和我的代码的一大块。该代码背后的思想是一个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()或其他提交表单的方式吗?

+0

所以在标题和标签jQuery的对话框,其实是一个完整的红鲱鱼? – Alnitak

回答

0

对不起,这个问题的混淆。它对我来说完全是一个桃子。尽管我找到了答案。我使用下面的代码允许再次提交。

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

这只是解除绑定

event.preventDefault(); 
从提交事件

1

<form onsubmit="return false"></form>它将工作

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

这使得对话框不能重新加载页面,但我的表单提交按钮仍然断开。 – Richard

+0

它会起作用。如果你仍然有问题,然后张贴你的代码有问题 – Rickyrock

+0

理查德@根据我的理解通过您的额外信息,您正在尝试类似于下面的情况:如果表单验证为false,那么将显示对话框并且不应该提交表单。如果表单验证是真的,那么应该提交表单。首先:将验证表单中的对话框置于假状态。第二:写在提交按钮上: - onclick =“返回验证()”注意:返回应该提到 – Rickyrock

0

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

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

这使对话框不能重新加载页面,但我的表单提交按钮仍然中断。 – Richard

+0

@Richard你能提供你的HTML吗? –