2009-10-08 105 views
1

好的,你如何生成你的ajax表單?你如何使用AJAX生成表單?

你守在JavaScript的文件<form> -code並加載與阿賈克斯的數據(例如JSON),或者你加載生成的html文件(包括所有的<form><input>您剛纔推到瀏覽器)?還是有另一種更簡單的方法?

如果您使用任何框架,您是否會從模型中自動生成表單?

你覺得最容易保持和維護什麼? 有沒有你覺得有用的插件或庫,也許是jQuery的東西?

分享您的想法!

+0

你想通過AJAX生成您的形式來實現呢?你只是想動態地在頁面上加載表單,或者對錶單的結果做些什麼? – 2009-10-08 15:40:47

+0

基本上更快,更好地添加/編輯/刪除功能。所以是的,動態加載表單。 – Erik 2009-10-08 15:47:23

回答

1

有一個在jQuery庫

jQuery.get(url, [data], [callback], [type]) 

負載使用HTTP GET請求的遠程頁面的溶液。 這是一種簡單的方法,可以將簡單的GET請求發送到服務器,而無需使用更復雜的$ .ajax函數。它允許指定一個單一的回調函數,當請求完成時(並且只有當響應具有成功的響應代碼時)纔會執行該回調函數。如果您需要同時具有錯誤和成功回調,則可能需要使用$ .ajax。

$ .get()返回它創建的XMLHttpRequest 。在大多數情況下,您將不需要該對象直接操作 ,但如果您需要手動中止請求,則可用 。

看一看在jQuery Documentation

例子:

$.get("someForm.pl", { name: "John" }, 
    function(data){ 
    $(data).appendTo(document.body); // you might place it somewhere else 
    }); 

編輯:

例如當你只有改變現有的DOM的值:

<form id="myForm"><input id="myName" /></form> 

$.get("someForm.pl", { name: "John" }, 
    function(data){ 
    $("#myForm").each(function(){ 
     this.value = data[this.id]; 
    }); 
    },"json"); 

您的服務器響應將:

{ 'myName' : 'John' } 
+0

因此,在someForm.pl中,你打印出'

'和一切?爲什麼在javascript中設置值並使用$(「#myinput」).val(data.myfield)設置值會更好? – Erik 2009-10-08 15:51:36

+0

Sry我沒有正確理解你的問題。使用現有的DOM並僅更改值會更快。您也可以使用$ .get來請求JSON數據。 – jantimon 2009-10-08 15:53:54

+0

是的,事情是,你現在有2個文件,JavaScript和輸出你的數據的那個。當你應該添加另一個字段時,你必須在你的兩個文件中進行修改,並且我覺得很煩人。 – Erik 2009-10-08 16:02:03