通过jquery序列化时无法访问控制值

时间:2011-11-23 12:30:08

标签: jquery serialization

一个非常奇怪的问题来到我身边。在我的senario中,我正在实现自动保存功能。其中我正在使用jquery序列化器。我还使用了定时调用函数的定时器。该函数执行ajax调用(post方法)并将serialize字符串发送到服务器。在服务器上,我捕获表单值并存储在数据库中。

我使用了infragistic web html编辑器控件。第一次序列化字符串不包含编辑器的值,但下次当timer函数再次序列化表单时,则包含编辑器内容..很奇怪..任何回复都会非常感谢..谢谢以下是示例代码。

timerfunction() {
    var str = $("#wrapper input,select,textarea,MainContent_USCWebHtmlEditor_t_a,MainContent_USCWebHtmlEditor_tw").not(':button').serialize();
    $.ajax({
      type: "POST",
      url: "<%= GetPageUrl() %>?autosave=true",
      data: str,
      success: function (msg) {
        ProcessPostAutosave(msg);
      }
    });
}

1 个答案:

答案 0 :(得分:0)

MainContent_USCWebHtmlEditor_t_aMainContent_USCWebHtmlEditor_tw是错误的选择器

如果这些是组件的ID,您应该在课程之前或之后添加#,您应该先添加.

另请注意,您抓住<input>内的所有#wrapper,但所有其他元素也将从#wrapper

之外获取

如果你想解决你可以做的事情

var context = $("#wrapper")
var str = $("input,select,textarea", context).not(':button').serialize();