Rails 3.2 - 文本字段更改时的Ajax调用

时间:2013-06-20 14:28:48

标签: javascript jquery ajax ruby-on-rails-3 ujs

我使用远程参数,在表单链接上有一些Rails 3.2.13应用程序和一些Ajax。 问题是我无法在文档中找到如何使用文本字段进行相同的操作 远程参数不起作用,所以我认为输入对象不支持它。

我想在我的text_field对象上绑定'ajax:xxx'事件(比如'ajax:success')。 我甚至可以用UJS吗?如果没有,我的选择是什么?

以下是一些代码:

<%= form_for @post, :html => {:class => 'form-horizontal'} do |f| %>    
<div class = 'control-group'>
    <%= f.label :title, :html => {:class => 'control-label'} %>     
    <%= f.text_field :title, :placeholder => 'Title', :class => 'input-xxlarge' %>
</div>

<div class = 'control-group'>
    <%= f.label :body, :html => {:class => 'control-label'} %>      
    <%= f.text_area :body, :placeholder => 'Your post here', :class => 'input-xxlarge', 
    :rows => 15 %>
</div>

<div class = 'control-group'>
    <%= f.label :tags, :html => {:class => 'control-label'} %>      
    <%= f.text_field :tags, :placeholder => 'Tags separeted by ,', :class => 'input-xxlarge', 
    :value => '' %>
</div>

<%= f.submit 'Create', :class => 'btn btn-primary'%>

谢谢!

1 个答案:

答案 0 :(得分:1)

我会将changeblur事件绑定到input,然后在Ajax文件上手动进行javascript/coffecript调用。

posts.js

$('#post_title').change(function() {
  // Do your stuff, instantiate variables, etc...
  $.ajax({
    type: post_or_get,
    url: your_url,
    data: your_data,
    success: function(data) {
      // Handle stuff after hitting the server here
    },
    error: function(data) {
    }
  });
});