2011-05-26 78 views
0

我正在嘗試使用jQuery UI的對話框集成新功能。從jQuery UI對話框發佈

我有一個鏈接頁面。點擊鏈接時,將打開一個窗體模式對話框。那部分工作正常。

$("#myForm").hide(); 
$("#myLink").click(function(){ 
    $("#myForm").dialog({ 
     modal: true, 
     draggable: false, 
     resizable: false, 
     width: 450, 
     buttons: { 
      "Submit": function() { 
       // ??? 
      }, 
      "Cancel": function() { 
       $(this).dialog("close"); 
      } 
     } 
    }); 
}); 

<a href="#" id="myLink">Open Dialog</a> 

<div id="myForm"> 
    <form> 
     <textarea id="myValues" rows="10"></textarea> 
    </form> 
</div> 

現在,我需要從我的對話框和POST結果中提交表單到同一頁面。我對如何實現其餘部分感到困惑。我看過jQuery .post()例子,這讓我更加困惑。該頁面在PHP中,所以當提交結果時,我需要獲取帖子值並執行一些服務器站點操作。

if (isset($_POST["myValues"])) { 
    // do something 
} 

卡住了,需要幫助。

回答

4

在jQuery函數用於 「提交」 按鈕:

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

而在HTML:

<form id="myFormId" method="POST" action="processingscript.php"> 

然後PHP腳本將獲得已張貼和處理它們的所有值。

+0

哦,我認爲這是我所期待的。出於某種原因,我一直在尋找AJAX的東西。謝謝! – santa 2011-05-26 12:36:34

1

使用此方法來更新對話框內容:

   $("#myformid").dialog({ 
       modal: true, 
       draggable: false, 
       resizable: false, 
       width: 450, 
       buttons: { 
        "Submit": function (event) { 

         event.preventDefault(); 
         var formvalues = $("#myformid").serialize(); 
         $.post('/Home/Edit', formvalues, function (data) { 
          //use data 
          $('#myformid').html(data); 

         }, "html"); 

        }, 
        "Cancel": function() { 
         $(this).dialog("close"); 
        } 
       } 

      }); 

在控制,

[HttpPost] 
    public PartialViewResult Edit(ViewModel model) { 

     //use data 

     return PartialView("MyDialogView", model); 
    } 
+0

工作對我很好。謝謝! – 2013-02-15 10:02:45