2011-04-20 72 views
0

我有一個jQuery的對話框,嵌套表格這樣的嵌套形式:jQuery的對話具有提交問題

<!-- Store Location Dialog --> 
     <div id = "changeDialog"> 
      <form id = "form" method = "post" action = "Default.aspx" \> 
       <input type = "text" id = "changeText" name = "changeLocation" /> 
       <input type = "button" id = "changeStoreDialogSubmit" value = "" onclick = "dialogSubmitForm()"/> 
      </form> 
     </div> 

有按鈕被按下時可能發生的兩個實例。一個實例需要一個頁面加載,另一個不會。我有非頁面加載實例正常工作,但另一個不是。這裏是dialogSubmitForm()方法我:

function dialogSubmitForm() { 

    if (!placeHolderVisibility) { 

     $('#changeStoreDialogSubmit').submit(); 
    } 
    else/
    { 
     //Working code 
    } 
} 

這裏是對話:

function createDialog() { 
    //Creates a new dialog 
    $('#changeDialog').dialog({ 
     resizable: false, 
     title: '<span class="ui-icon ui-icon-home"></span> Enter Info', 
    }); 
} 

當我測試的頁面,我可以看到$('#changeStoreDialogSubmit').submit();擊中,但從來沒有一個頁面加載。爲什麼會發生?

+0

是'#changeStoreDialogSubmit'按鈕還是表單? – 2011-04-20 18:31:04

+0

雖然我在那裏添加了html的代碼。讓我編輯它 – 2011-04-20 18:33:49

+0

這是一個按鈕,雖然 – 2011-04-20 18:34:29

回答

0

你需要調用.submit()form,而不是提交表單按鈕:

function dialogSubmitForm() { 

    if (!placeHolderVisibility) { 

     $('#form').submit(); 
    } 
    else 
    { 
     //Working code 
    } 
} 
0

submit()方法只能在form元素被調用。您的表單有form的ID,所以你需要改變這一點:

$('#changeStoreDialogSubmit').submit(); 

要這樣:

$('#form').submit(); 

話雖這麼說,我猜你正在使用ASP.NET爲您的應用程序,並你真的需要確保你沒有嵌套form標籤,因爲默認情況下Web Forms會爲你在頁面上拋出form標籤。