#jquery #rte
#jquery #rte
Вопрос:
Итак, у меня есть форма со многими полями, и я создал симпатичный маленький js-скрипт, который сериализует мою форму, отправляет ее в сценарии сеансов и сохраняет форму на основе идентификатора формы.
var values = $("#my-form").serialize() "amp;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:
Таким образом, процедура сохранения форм теперь включает extraInfo
параметр, который выглядит следующим образом.
this.saveForm = function(extraInfo) {
var values = form.serialize();
values = "amp;formId=" form.attr("id") "amp;action=saveValues" extraInfo;
И вызывающий код выглядит следующим образом.
processForm.saveForm("amp;mySweetRTETextArea=" encodeURI($(".mySweetRTETextArea").contents().find("body").html()));
Я был бы рад, если бы кто-нибудь мог объяснить, почему! Когда я выполняю $.each, это возвращает 2 результата из $ (.mySweetRTETextArea), потому что есть текстовое поле и новый iframe, но каким-то образом вызов contents () переходит к правильному… ЗАПУТАЛСЯ!! помочь?