检查主题是否存在并附加到文本框旁边

时间:2012-09-13 04:01:39

标签: ruby-on-rails ajax jquery

我有一个带有主题文本字段的rails应用程序,其中用户输入主题代码id然后在文本字段旁边将是模糊文本字段时主题的其他详细信息的结果。

形式:

 SC_ID: <%= f.text_field "subject1", :id => "subject1"%>

jquery的:

 $('#subject1').blur(function() {
      var field_value = $(this).val();
      $.post("<%= validate_subject_path %>",{subject : field_value}, function(data) {
        success: function() {

          alert("Hahaha!");
        },
        error: function() {

          alert("Subject not found!");
        }
      });

    });

控制器:

 def validate_subject
    sc_id = params[:subject].to_i
    @subject = Subject.find_by_sc_id(sc_id)
    string = "#{@subject.id}"
    return string
    render :layout => false
   end

路线:

 map.validate_subject '/subjects/validate_subject', :controller => "subjects", :action => 'validate_subject'

但是当我试图模糊时,没有警报框出现。

1 个答案:

答案 0 :(得分:0)

您的$.post电话错误,应该是这样的:

  $.post("<%= validate_subject_path %>",{subject : field_value}, function(data) {
      // not returning a hash
      alert("Hahaha!");
  });

如果您真的何时应对失败做出反应,而不是使用$.ajax代替$.post http://api.jquery.com/jQuery.ajax/