Сохранение значений формы, jquery.rte.js - PullRequest
0 голосов
/ 09 апреля 2011

Итак, у меня есть форма, которая имеет много полей, и я сделал хороший маленький 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); }); });

Это показывает два разных значения. Первый - текстовая область, второй - iframe. Мне было интересно, если бы я мог получить значение от IFRAME. Я пытался ...

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

Консоль ошибок в Moz-firefox показывает эту ошибку. $(".myrte")[1].val is not a defined function даже если $(".myrte")[1] вернет объект IFrame ...

Любая помощь? Мне нужно получить отформатированный текст там. Одна странная записка. Когда я отправляю форму, PHP-сторона получает отформатированный текст ... сбивает с толку? да! :) Так что я могу сохранить значения легко при отправке, но не во время редактирования. Плюс, кто любит потерять все свои наборы при редактировании формы, а не я!

1 Ответ

0 голосов
/ 09 апреля 2011

Таким образом, процедура хранения форм теперь включает параметр 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, он возвращает 2 результата из $ (. MySweetRTETextArea), потому что есть текстовая область и новый iframe, но каким-то образом вызываемый content () переходит к правильному ... CONFUSED !! помочь?

...