0

だから私は多くのフィールドを持つフォームを持っており、フォームをシリアル化し、セッション スクリプトに送信し、フォーム ID に基づいてフォームを保存する素敵な小さな js スクリプトを作成しました。

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

問題は、スクリプト側の保存ではありません。問題は、すべてのフォーム値を取得することです。jquery プラグインjquery.rte.jsを使用します。これは、テキストエリアを非表示にして iframe に変換し、太字とリストの手順を実行できるようにします。甘い?はい、$("#my-form").serialize() は入力値を返しますか? いいえ。そのテキストエリアで始まる値は何でも提供します(おそらく、rteがテキストエリアを非表示にするためです)。私がこれをしたら...

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

これは、2 つの異なる値を示しています。1 つ目はテキストエリア、2 つ目は iframe です。IFRAME から値を取得する方法があるかどうか疑問に思っていました。私は試した...

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

Moz-firefox のエラー コンソールにこのエラーが表示されます。 オブジェクトIFrameを返しますが$(".myrte")[1].val is not a defined function ...$(".myrte")[1]

何か助けはありますか?書式設定されたテキストをそこから取得する必要があります。奇妙なメモを 1 つ。フォームを送信すると、PHP 側で書式設定されたテキストが取得されます...混乱しますか? はい!:)だから、送信時に値を簡単に保存できますが、編集中は保存できません。さらに、フォームを編集するときにすべての入力を失うのが好きな人は、私ではありません!

4

1 に答える 1

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を実行すると、テキストエリアと新しいiframeがあるため、$(.mySweetRTETextArea)から2つの結果が返されますが、何らかの方法でcontents()を呼び出すと正しい結果になります...混乱!! ヘルプ?

于 2011-04-09T01:56:58.013 に答える