【问题标题】:JQuery submit not working in ChromeJQuery 提交在 Chrome 中不起作用
【发布时间】:2013-07-02 06:22:33
【问题描述】:

下面是表格

@using (Html.BeginForm(MVC.CollectionPlanConfirmation.ActionNames.Edit, MVC.CollectionPlanConfirmation.Name, FormMethod.Post, new { @id = "collectionPlanForm" }))
{
.................
}

提交按钮在表单之外。以下是我的 MVC 视图上的提交按钮。

<input type="submit" value="Save" class="aSubmit" onclick="return SubmitForm();" />

以下是应该提交表单的 jquery。

<script type="text/javascript">    
function SubmitForm() {
...... validation code........
$('#collectionPlanForm').submit();
}
</script>

我可以看到,IE8 和 Firefox 提交了表单,但它不适用于 Chrome。它根本没有做任何事情。

可能是什么原因,如何解决?

对此的任何帮助,非常感谢。

谢谢

【问题讨论】:

  • 您应该将SubmitForm 函数绑定到表单的submit 事件。
  • 有什么错误吗?因为我认为它与 chrome jsfiddle.net/g8QVc 一起使用,其次这个提交按钮会自动调用表单提交。
  • 提交按钮在表单之外。因此我手动提交。请查看有问题的编辑。

标签: jquery forms google-chrome asp.net-mvc-4 submit


【解决方案1】:

为 jquery 执行提交的最佳方式是这种方式。

$('#submitButton').click( function() {
    $.ajax({
        url: 'some-url',
        type: 'post',
        dataType: 'json',
        data: $('form#myForm').serialize(),
        success: function(data) {
             console.log("success");
        }
    });
});

http://jsfiddle.net/BD3Rt/

总是很高兴保持 html 干净并分离您的 jquery/javascript 代码。

【讨论】:

  • 这对我来说是部分工作......这意味着,我现在可以提交表单......但如果服务器端验证失败,我必须显示带有错误消息的相同表单打印在屏幕上,否则想要重定向到另一个页面。这目前在 MVC 代码中分别使用“r​​eturn View”和“return RedirectToAction(...)”进行处理。
【解决方案2】:

试试这个:

HTML

<input type="button" value="Save" class="aSubmit" />

脚本

$(function () {
    $(document).on('click', '.aSubmit', function () {
        $('#collectionPlanForm').submit();
    });
});

DEMO FIDDLE

【讨论】:

    【解决方案3】:

    输入表单ID并使用$("#yorID").submit(),您可以在此处查看示例 example

    【讨论】:

    • 我已经这样做了。 collectionPlanForm 只是我的表单的 ID
    • 实际上,在我的情况下,提交按钮在表单之外。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多