2011-05-11 51 views
0

我有索引頁面,包含用戶列表和編輯鏈接。當我點擊這個鏈接時,我想打開一個jQuery對話框來編輯然後保存。

我正在做一個ajax獲取另一個視圖,並將返回數據加載到一個div。返回數據是html和javascript兩者。回報本質上就是文本。我需要在執行返回的JavaScript,有點像運行eval。這是可能的還是有更好的方法來做到這一點?我想我可以在window.open或iframe中打開它。然而,我想知道如果jQuery對話框或任何其他模型對話框的解決方案是可能的?有推薦的方法嗎?

$.ajax({ 
       type: "GET", 
      url: "/User/Edit/" + user.Id, 
      cache: false, 
      dataType: 'html', 
      error: function (xmlHttpRequest) {     
       $("#edit-dialog").html(xmlHttpRequest.responseText); 
      }, 
      success: function (data) { 
       $("#edit-dialog").html(data);     
       $("#edit-dialog").dialog("open"); 
      }    
     }); 

頁面編輯不僅僅是一個簡單的形式 - 它有合理數量的JavaScript和UI糖果。謝謝!

回答

1

內聯JavaScript應該在瀏覽器呈現它時立即執行。我認爲問題在於你正在使用document.ready進行初始化,但如果你在初始頁面渲染後添加HTML,這將永遠不會觸發。第二,所有JavaScript必須在HTML之後,因爲JS不會找到HTML元素。

+0

謝謝丹尼爾。也許我在看它太久了。它非常有意義。我通過ajax調用加載的頁面將其包裝在document.ready中。我只需要通過刪除$(function(){})直接調用它;它被包裹着。 – taazaa 2011-05-11 13:58:14

+0

不客氣! – DanielB 2011-05-11 13:59:31