jquery - 绑定(bind)函数来提交事件

标签 jquery forms submit

我正在尝试将一个简单的函数绑定(bind)到提交事件,即:

  1. 检索所有输入字段的值
  2. 设置表单的action属性
  3. 提交表单

灵感来自this answer - 我想出了以下代码:

$(document).ready(function() {
    $('#fbook').bind('submit', function(event) {
        event.preventDefault();
        var baseURL = $(this).children('#base').val();
        var hotelID = $(this).children('#destination').val();
        var dateIn = $(this).children('#show-date-in').val();
        var location = baseURL + "&hotelID=" + hotelID + "&dateIn=" + dateIn;
        $(this).attr('action', location);
        $(this).submit();
    });
});

这是带有 HTML 和 JS 的 jsFiddle:http://jsfiddle.net/mattvic/2wRHc/47/

不幸的是,它不起作用,我只是看不出哪里出了问题。我希望有人能够发现这个错误。

非常感谢!

最佳答案

您的代码将进入无限循环,因为 $(this).submit() 调用绑定(bind)到表单元素的提交处理程序,这会触发调用 $(this ).submit(),它调用绑定(bind)到表单元素的提交处理程序,等等。

如果您使用表单自己的submit方法,则可以避免递归:

this.submit();

关于jquery - 绑定(bind)函数来提交事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6570543/

相关文章:

javascript - jQuery: anchor 滚动跳动

javascript - 自动填写的计算表格

html - 表单类不工作

php - 这段代码中定义的表单的 `submit()` 函数在哪里?

asp.net - 如何用jQuery模拟表单提交?

jquery - QTip2 工具提示的提示位置不正确

Jquery .uniqueId() 为小部件分配一个已使用的 id

php - 使用 php 将表单发送到我的电子邮件。提交表单时遇到 405 不允许的问题

javascript - JQuery - 表单提交 - 多次?

jquery - jQuery将网址替换为视频