2011-03-29 65 views
0

我在我的代碼中使用jQuery .dialog()。 在對話框中我有Form。在對話框的確定​​按鈕上,我想提交表單...但是它沒有提交代碼。我在對話框中寫了標籤。我寫錯了什麼jQuery對話框相關文章

<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"); 
    } 
}); 
+1

_delated_代表_delayed_嗎?我不能正確推斷.. – 2011-03-29 13:57:10

+0

這是錯誤的...我已經改變了它 – 2011-03-29 13:59:11

+0

這段代碼對我來說看起來很好 - 你有沒有做過任何調試?你能否說出「確定」按鈕的處理程序是否被調用?是否有任何JavaScript錯誤報告? – Pointy 2011-03-29 14:03:07

回答

0

我得到了答案... 你不能把標籤放在jQuery對話框中。 您必須將其放在頁面上的其他位置,並且隱藏所需的字段。在提交時,將對話框中的所有字段值放在窗體中的隱藏框中。那麼它將工作

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'); 
    } 
}); 
+0

否....沒有腳本錯誤...你有沒有嘗試過代碼...是否提交 – 2011-03-29 14:06:11

0

您的大括號中的按鈕聲明有誤。它應該看起來像這樣:

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

您在「取消」按鈕設置之前關閉了按鈕聲明。

更新:自從我寫這個答案以來,它在原始帖子中已被修復。

+0

是否能夠提交帶有更正代碼的表單 – 2011-03-29 14:10:03

+0

@Poonam - 表單是否仍然未使用正確的括號提交? – MattC 2011-03-29 14:14:31

+0

@ MattC:不......它不是 – 2011-03-29 14:15:14