[英]Rails 3 Submitting a form with Javascript causes html response instead of a AJAX response
当我使用 Javascript 提交表单时,我得到了 html 响应,就像它忽略了远程 true 参数一样。 如果我使用提交按钮提交表单,它会执行 AJAX 并更新请求的页面元素。 所以代码中唯一的区别是onchange
参数和按钮的存在。 这是我的表单代码:
<% form_tag('switch_car', :method => :put, :name => "switch_car", :remote => true) do %>
<div class="field">
<label>Car Name:</label>
<%= select_tag(:id, options_from_collection_for_select(active_cars, "id", "name"), :onchange => "submitForm('switch_car')", :include_blank => true)%>
</div>
<% end %>
这是我的 Javascript 函数:只是一个简单的提交。
<script type="text/javascript" charset="UTF-8">
function submitForm(formname){
document.switch_car.submit();
}
</script>
这是生成的 HTML:
<form accept-charset="UTF-8" action="switch_car" data-remote="true" method="post" name="switch_car"><div style="margin:0;padding:0;display:inline"><input name="utf8" type="hidden" value="✓" /><input name="_method" type="hidden" value="put" /><input name="authenticity_token" type="hidden" value="PEbdqAoiik37lcoP4+v+dakpYxdpMkSm7Ub8eZpdF9I=" /></div><div class="field">
<label>Car Name:</label>
<select id="id" name="id" onchange="submitForm('switch_car')"><option value=""></option><option value="9">Truck</option>
<option value="10">Car</option></select>
</div>
有人知道为什么 Javascript 提交会导致与同一表单上的按钮不同的结果吗? 如果是这样,我可以让 Javascript 提交来处理 Ajax 结果吗?
发现问题。 我认为使用 javascript 提交表单会使用相同的 remote => true 选项提交表单,但它似乎绕过了这一点。 我必须使用新的 AjaxRequest 提交才能使其正常工作。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.