0

所以我有一个包含许多字段的表单,我制作了一个不错的小 js 脚本,它将序列化我的表单,将其发送到会话脚本,并根据表单 ID 保存表单。

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

问题不在于保存的脚本方面。问题在于获取所有表单值。我使用 jquery 插件jquery.rte.js,它隐藏了我的 textarea 并将其转换为 iframe,我可以在其中进行加粗和列出过程。甜的?是的,是否 $("#my-form").serialize() 带回输入的值?不,它给出了该文本区域中开始的任何值(可能是因为 rte 只是隐藏了文本区域)。如果我这样做...

$(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()); });

Moz-firefox 上的错误控制台显示此错误。 $(".myrte")[1].val is not a defined function 即使$(".myrte")[1]会返回对象 IFrame ...

有什么帮助吗?我需要从那里得到格式化的文本。一个奇怪的笔记。当我提交表单时,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 时,它会从 $(.mySweetRTETextArea) 中返回 2 个结果,因为有一个 textarea 和新的 iframe,但是以某种方式调用 contents() 会转到正确的结果... 困惑!帮助?

于 2011-04-09T01:56:58.013 回答