对话框中的按钮不会回发

我有一个对话框,我用jQuery .dialog()函数显示,这个对话框包含一个按钮,我想回发到另一个页面,但它不起作用。 我无法使用PostBackUrl属性集或OnClick (这永远不会触发)来发布。 但是,当我单击其中一个Calendar日期时,我认为默认情况下会返回一个post,页面会回发到我在按钮PostBackUrl属性中设置的URL! 我想使用asp:Calendar ,但在选择时禁用默认的回发行为,并且仅在用户选择按钮时才发布发布,但显然仍然可以在回发时使用Calendar的选定日期。 这是.aspx文件……

 
First Name: Last Name:
How Old are You? 1 2 3 How Many Siblings do You Have? 1 2 3 4

…和jQuery脚本……

   function showDialog() { $('.divDialog').dialog({ modal: true, show: 'slide', title: 'Please Enter Information Below', width: 500 }); }  

…这里是asp:按钮和asp:Calendar中的日期如何在浏览器中呈现….

 28 

….

  

编辑:按钮提交不起作用,无论我是否包括asp:日历控件。 但Calendar控件选择提交由于某种原因而起作用。

这种对话的问题在于,它们将您提供的内容移动到表单之外的某个位置。

举个例子: http : //jsfiddle.net/Qej8S/1/

我把内容放在keeper里面

 

但是如果运行它,你会看到(以太颜色,以及浏览器的dom实用程序的以太)对话框正在将内容移动到守护者之外,并且在您的情况下将其移动到form之外,这就是为什么不会激活,

为了解决方案,我想出了一些黑客。 创建对话框后,将其移回表单。 这是一个例子。 我在表单中放置了一个具有特定id的div:

然后在创建对话框后立即设置移动:

 $('.divDialog').dialog({modal: true, show: 'slide', title: 'Please Enter Information Below', width: 200, create: function( event, ui ) { // this is the trick, I move it again inside the form, on a specific place. $("#MoveItHere").html($(this).parent()); } }); 

这是在线测试,如果你看到dom,那就有用了: http : //jsfiddle.net/Qej8S/2/