jQuery Mobile避免在ajax表单提交中的changePage()

时间:2013-02-27 14:22:09

标签: ajax forms jquery-mobile

我有一个post表单,我希望以{em> AJAX 的方式完成submit,但我不想更改页面网址。

例如:

<form action="/countries/change_country" data-ajax="true" method="post">
  <select name="country_code">
    <option value="FR" selected="selected">France</option>
    <option value="DE">Germany</option>
  </select>
  <input type="submit" value="change country" />
</form>

当我点击change country按钮时,表单是通过AJAX发送的,但是页面URL更改为/countries/change_country什么不好,因为我的服务器中不存在此URL使用HTTP动词非常挑剔

我知道可以为整个应用程序更改此默认行为,但我想仅为此表单停用changePage()

1 个答案:

答案 0 :(得分:2)

通过 Javascript / jQuery 提交表单。

首先禁用默认提交行为

$('#form').on('submit', function (e) {
   if (e.preventDefault) e.preventDefault();
   return false;
});

第二次使用jQuery序列化表单数据

var serializedFormData = $('#form').serialize();
使用$.ajax();

第三次发布您的表单

$.ajax({
   url: '/countries/change_country',
   type: 'POST',
   data: serializedFormData
});