2010-10-13 34 views
0

我遇到了一些jQuery對話框代碼的問題。窗口第一次打開,如果我提交表單,它將返回div中的消息。但是,如果關閉對話框後,我再次打開它,它仍然保留該消息並且未清除。另外,當我按下提交按鈕時,它會打開php頁面兩次。這似乎是每次打開對話框時都這樣做的。如果我關閉並再次打開對話框,它將打開3次php頁面。我在哪裏錯了?jQuery對話框不規則行爲

// feedback form 
$(document).ready(function(){ 
    function feedbacknew() { 

    // jquery-ui confirm dialog box 
    $("#form").dialog({ 
     autoOpen: false, 
     resizable: false, 
     modal: true, 
     title: 'Submit a feedback request', 
     width: 440, 
     height: 470 

     /*buttons: { 
      'Remove': function() { // remove what you want to remove 
       // do something here 
       alert("this is a test alert!"); 
       $(this).dialog('close'); 
       $("#flex1").flexReload(); 
      }, 
      Cancel: function() { 
       $(this).dialog('close'); 
      } 
     }*/ 
    }); 
    }); 


    $('#submit').click(function() { 
     var name = $('.uname').val(); 
     var data = 'uname=' + name; 
     $.ajax({ 
      type: "POST", 
      url: "feedback.php", 
      data: data, 
      success: function (data) { 
       $('#message').html(data); 
       $("#flex1").flexReload(); 
      }, 
      error:function (xhr, ajaxOptions, thrownError){ 
        alert(xhr.status); 
        alert(thrownError); 
       } 
     }); 
     return false; 
    }); 

    $("#form").dialog('open'); 

} 

回答

0

取出「$(」#form「)。對話框({....});」來自feedbacknew()函數的代碼將它放在它的上面(放在全局頁面範圍內,但在$(document).ready(function(){});)內。每次該函數執行時都重新定義對話框。

+0

我已經更新了代碼,它在給出語法錯誤)};在評論代碼之後。因爲我是jquery試圖學習的新用戶,你能指出我的錯誤嗎?非常感謝 – 2010-10-13 18:22:48

+0

有任何進一步的幫助?謝謝 – 2010-10-13 22:24:23