jQuery对话框相关帖子

时间:2011-03-29 13:53:48

标签: jquery

我在我的代码中使用jQuery .dialog()。 在对话框中我有表格。在对话框的确定​​按钮上,我想提交表单...但是它没有在ok上提交代码。我在对话框中写了标签。我写错了吗

<div id="dialog-form" title="Create new user">
    <p class="validateTips">All form fields are required.</p>

    <form id='form1' name='form1' action='next.php'>
    <fieldset>
        <label for="name">Name</label>
        <input type="text" name="name" id="name" class="text ui-widget-content ui-corner-all" />
        <label for="email">Email</label>

        <input type="text" name="email" id="email" value="" class="text ui-widget-content ui-corner-all" />
        <label for="password">Password</label>
        <input type="password" name="password" id="password" value="" class="text ui-widget-content ui-corner-all" />
    </fieldset>
    </form>
</div>

$( "#dialog-form" ).dialog({
    autoOpen: false,
    height: 300,
    width: 350,
    modal: true,
    buttons: {
        OK: function() {
            //$( this ).dialog( "close" );
            $('#form1').submit();
            return true;
        },
        Cancel: function() {
            $( this ).dialog( "close" );
        }
    },
    close: function() {
        allFields.val( "" ).removeClass( "ui-state-error" );
    }
});

3 个答案:

答案 0 :(得分:0)

刚刚测试过您的代码,它似乎对我来说很好。您的问题中发布的代码确实有一个拼写错误 - 打开页面时是否有任何javascript错误?

$('#dialog-form').dialog({
  autoOpen: false,
  height: 300,
  width: 350,
  modal: true,
  buttons: {
    OK: function() {
      //$(this).dialog('close');
      $('#form1').submit();
      return true;
    },
    Cancel: function() {
      $(this).dialog('close');
    }
  },
  close: function() {
    allFields.val('').removeClass('ui-state-error');
  }
});

答案 1 :(得分:0)

你的大括号中有一个错误的按钮声明。它应该是这样的:

buttons: {
            OK: function() {
                    //$( this ).dialog( "close" );
                                         $('#form1').submit();
                                         return true;
                }
            ,
            Cancel: function() {
                $( this ).dialog( "close" );
            }
        }

您在设置“取消”按钮之前关闭了按钮声明。

更新:自从我写这个答案以来,这个问题已在原帖中得到修复。

答案 2 :(得分:0)

我得到了答案...... 你不能把标签放在jQuery对话框中。 您必须将其放在页面上的其他位置,并隐藏必填字段。并在提交时,将对话框中的所有字段值放入窗体中的隐藏框中。然后它会工作