2011-04-09 55 views
0

所以我有一個表單,有很多領域,我做了一個很好的小js腳本,將序列化我的表單,將其發送到會話腳本,並保存基於窗體的窗體ID。

保存表單值,jquery.rte.js

var values = $("#my-form").serialize() + "&formId=" + "my-form"; $.post("mysweetscript.php", values);

的問題是不符合事物保存腳本的一面。問題在於獲取所有表單值。我使用jquery插件jquery.rte.js,它隱藏了我的textarea,並將它變成了一個iframe,我可以在其中執行粗體和列表過程。甜?是的,$(「#my-form」)。serialize()是否帶回輸入的值?不,它給出了在textarea中開始的任何值(可能是因爲rte隱藏了textarea)。如果我這樣做...

$(function() { $.each($(".myinput"), function(key, value) { alert(key + " => " + value); }); });

這說明兩個不同的值。首先是一個textarea,第二個是一個iframe。我想知道是否有辦法從IFRAME獲得價值。我想...

$(function() { var inputs = $(".myrte"); alert(inputs[1]); alert(inputs[1].html()); alert($(inputs[1]).val()); alert($(inputs[1]).html()); });

上萬盎司Firefox的錯誤控制檯顯示此錯誤。 $(".myrte")[1].val is not a defined function即使$(".myrte")[1]將返回對象IFrame ...

任何幫助嗎?我需要從那裏獲取格式化文本。一個奇怪的音符。當我提交表單時,PHP的一面會得到格式化的文本......令人困惑?是! :)所以我可以很容易地保存提交的值,但不能在編輯期間保存。還有誰喜歡在編輯表格時丟失所有的類型,而不是我!

回答

0

因此,存儲表單過程現在包括一個類似於extraInfo的參數。

this.saveForm = function(extraInfo) { var values = form.serialize(); values += "&formId=" + form.attr("id") + "&action=saveValues" + extraInfo;



,並且調用代碼如下所示。 processForm.saveForm("&mySweetRTETextArea=" + encodeURI($(".mySweetRTETextArea").contents().find("body").html()));



我會愛如果有人能解釋爲什麼!當我執行$ .each時,它會從$(。mySweetRTETextArea)返回2個結果,因爲有一個textarea和新的iframe,但不知何故調用contents()會轉到正確的一個... CONFUSED!幫幫我?