【问题标题】:jQuery submit form by clicking link issuejQuery通过单击链接问题提交表单
【发布时间】:2014-09-12 09:14:42
【问题描述】:

我正在尝试通过单击链接来提交表单。我禁用了重定向,但由于某种原因 .submit() 不起作用... 这是我尝试过的:

效果:重定向停止,没有表单提交,没有错误信息,卡在表单页面:

$('.jsubmit').click( function(e) {
    e.preventDefault();
    $('form#fadmin').submit();
});

效果:URL重定向,表单未提交,无错误提示

$('.jsubmit').click( function(e) {
    $('form#fadmin').submit();
});

效果:重定向停止,没有表单提交,没有错误信息,卡在表单页面:

$('.jsubmit').click( function(e) {
    $('form#fadmin').submit();
    return false;
});

形式:

<form action="" method="post" name="fadmin" class="inputform" id="fadmin">...</form>

还有一堆其他的组合,包括 trigger(),用 unbind() 反转 preventDefault()。我能够提交表单的唯一方法是触发对提交按钮的点击,但在我的情况下这并不是一个真正的解决方案,因为我需要在多个页面上使用它并添加按钮然后隐藏它不是我的想在每一页上做...

我尝试在 Firefox 和 IE 中运行它们,结果相同。

其他一些正在使用的 JS、jQ 代码是:ZendFramework2 和 ZFTables 提供的默认引导和响应。 任何帮助将不胜感激!

编辑:

表单有以下提交按钮:

<input id="mysubmit" type="submit" value="Register" name="submit" />

删除这个之后,我上面的第一个示例运行良好。 很奇怪,因为页面上没有其他表单或提交按钮,也没有任何具有相同名称、id、类型...

【问题讨论】:

  • 您检查控制台是否有任何错误?您的第一个示例应该可以工作。
  • 什么只是 $('form#fadmin').submit();当你在控制台中输入它时做什么?
  • 它适用于fiddle
  • 第一个错误是你阻止了 jsubmit 输入提交按钮的点击事件......但你实际上想阻止表单的默认操作所以......试试这个 cde $("#fadmin").submit(函数(事件){event.preventDefault();....});
  • 也许你点击了页面加载后创建的按钮。如果是这样,您可以尝试使用on 选择器api.jquery.com/on 像这样$(document).on('click', '.jsubmit', function(e) { e.preventDefault(); $('form#fadmin').submit(); });,或者如果您使用jquery api.jquery.com/live

标签: javascript jquery html forms


【解决方案1】:

问题可能是您尝试在 jQuery 对象上调用 submit(),而不是表单 DOM 元素。

试试这个作为你的第二行代码:

$('form#fadmin')[0].submit();

【讨论】:

    猜你喜欢
    • 2015-02-14
    • 2012-03-28
    • 1970-01-01
    • 2011-10-11
    • 1970-01-01
    • 2010-09-13
    • 2016-09-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多