我的对话框中的输入字段没有被发布,我不知道为什么…
我已经在mac firefox和safari测试了,Windows IE& firefox具有相同的结果,所以我不认为它是浏览器,如果我禁用对话框,字段发布正常。
我重新读了jquery ui文档,找不到我做错了什么…似乎不太可能对话框不支持输入。
这是我使用的代码的精简版本:
<script type="text/javascript"> $(document).ready(function(){ $("#dialog").dialog({ autoOpen: false,buttons: { "OK": function() { $(this).dialog('close'); } } }); $("#publishSettings").click(function(){ $("#dialog").dialog('open'); }); }); </script> <form method="POST" action="publish.PHP"> <input type="button" id="publishSettings" value="Publish Settings"> <div id="dialog"> Publish Date <input type="text" name="publishOn"><br> Unpublish Date <input type="text" name="unPublishOn"> </div> <input type="submit" name="pubArticle" value="Publish"> </form>
没有什么是普通的,对吧?为什么这不会为我工作?
谢谢!
解决方法
当JQuery打开对话框时,它将其移动到窗体外。
这是解决方案:
jQuery UI Dialog with ASP.NET button postback
基本上在你的情况下:
var dlg = $("#dialog").dialog({ autoOpen: false,buttons: { "OK": function() { $(this).dialog('close'); } } }); dlg.parent().appendTo($("#yourformId"));
应该修复它