我的对话框中的输入字段没有被发布,我不知道为什么…
我已经在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"));
应该修复它