jquery - 当我尝试使用 ajax 调用自动保存表单字段时,在 jQuery 中出现错误

标签 jquery ruby-on-rails ajax ruby-on-rails-3 forms

我正在尝试让 Rails 3 项目中的表单字段在更改时自动保存。我尝试使用以下 jQuery ajax 调用来执行此操作:

$j("#list_" + <%= item.list_id.to_s %> + "_item_" + <%=item.id.to_s %>).live("change", 
 function(){
      $j.ajax({ 
           beforeSend: function(request) {
               request.setRequestHeader("Accept", "text/javascript"); 
           },
           type: 'POST',
           url: '<%= list_text_item_path(List.find(item.list_id), TextItem.find(item.id)) %>/update',
           data: {
                value: $j(this).val(),
                id: '<%= item.id.to_s %>',
                list_id: '<%= item.list_id.to_s %>'
           },
           success: function(){
                alert("success");
           } 
      });
 });

每当文本框发生更改时,我都会在 jQuery 中收到以下错误:

 (c.value || "").replace is not a function

这在 jQuery-1.5.min.js 中都有。我在 jQuery-1.4.2.min.js 上也发生了同样的错误。 (我更新到 1.5,看看是否有帮助。)

对我哪里出错有什么想法吗? 非常感谢。

编辑:哦,糟糕,当我发布 HTML 时,我意识到我将 .live() 调用附加到了表单输入元素的容器 div,而不是表单输入元素本身。我有一个单独的问题,但我想一旦我弄清楚可能导致它的原因,我就会发布该问题......

最佳答案

呃,我明白了......一个粗心的错误。我在 HTML 列表项中有输入元素,并且将 .live() 函数调用附加到 li id 而不是输入元素 id。感谢楼上各位的帮助。

关于jquery - 当我尝试使用 ajax 调用自动保存表单字段时,在 jQuery 中出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4911170/

相关文章:

javascript - 从网站/浏览器拖放文件下载到本地文件系统

jquery - 带有 jquery 代码的脚本 block 应该放置在 ASP.NET MVC 母版页上的什么位置?

jquery图像幻灯片随机显示图像

ruby-on-rails - act_as_commentable 示例?

ruby-on-rails - rails : rescue class inheritance

ruby-on-rails - 在Rails中的Globalize3表上简单搜索

javascript - 使用 ajax php mysql 使用 html 链接单击更新数据库

c# - 在 Asp.Net MVC 中显示从 Controller 返回的 JSON 数组数据

Javascript 嵌套 AJAX 请求

javascript - 通过 JSON AJAX 数组 -> 对象访问数据