我有一个带有主题文本字段的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'
但是当我试图模糊时,没有警报框出现。
答案 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/