我想根据第一个字段中的值使用数据库中的数据自动填充某些字段。 这就是我所拥有的:
$(function(){
$('#request_name').on('focusout', function () {
var clientName = $(this).val();
$.ajax({
url: "/requests/autofill/"+clientName,
type: "GET",
dataType: ...some dataType
})
});
});
当用户在id" request_name"的第一个字段中键入一些文本时并重点关注我想在db中搜索该值并使用返回值填充其他字段。
这是我的控制器:
def autofill
@client = Client.where("name=?",params[:name]).take
respond_to do |format|
... some code
end
end
并为此做准备:
get "requests/autofill/:name" => "requests#autofill", as: :requests_autofill
我也在我的请求视图中创建了autofill.js.erb文件。我想我应该处理该文件中的填写表单字段。
但是,在这里我不知道如何向服务器发送正确的ajax请求以及如何处理它。 如果我没有指定dataType服务器返回整个页面autofill.html.erb。我想我应该使用其他一些dataType,但我不知道哪一个。
我还想将返回的值插入表单字段。 例如,要自动填充的字段之一就是
<%= f.text_field :mobile, class: 'form-control' %>
答案 0 :(得分:0)
假设客户端已移动且您的输入字段ID为mobile_input
,请在
<强> autofill.js.erb 强>
$('#mobile_input").val('<%=@client.mobile%>');
答案 1 :(得分:0)
$("#request_name").on('focusout', function(){
$.ajax({
type: "GET",
url: "/requests/autofill/"+clientName,
data: formData,
success: function(data){
//使用API返回的数据填充from字段,如下所示
$('#field_id').html(data.<json_key>)
}
});
return false;
});