0

嗨,我的页面有问题。我在同一页面中有一个视图页面和 2 个表单。我已经看到并尝试了不同的方法(比如这个=> asp.net MVC 4 multiple post via different forms),但我注意到我的问题有所不同。

问题是我有一个主表单和另一个由 JQuery 显示的表单。在初始显示时不显示,但当他们单击链接时,第二个表单显示为模式对话框。当我单击该框中的按钮时,似乎不起作用。

我需要你的帮助!

编辑:

以下是我在应用程序中使用的代码。

.CSTHML 表格

@using (Html.BeginForm("Login2", "Account", FormMethod.Post, new { @id = "loginForm" }))
{
    <a id="submitlink" href="#" class="button button-large">Sign In</a>
}

@using (Html.BeginForm("TroubleSubmit", "Account", FormMethod.Post, new { @id = "troubleSubmitForm" }))
{
    <a id="troubleSubmitLink" href="#" class="button">OK</a>
}

查询

$('a#submitlink').click(function () {
            $('#loginForm').submit();
        });

$('a#troubleSubmitlink').click(function () {
            $('#troubleSubmitForm').submit();
        });

第一种形式工作正常。但是,当我单击第二种形式的“确定”按钮时,似乎什么也没有发生。

4

2 回答 2

1

您的锚标记的 id 在 Link 上有一个大写字母 L,而您的 jquery 选择器使用小写。我相信选择器区分大小写。

于 2013-06-25T02:24:32.687 回答
1

添加到 bitwiser 的响应中。

如果你用你的 JQuery 做这样的事情

$(document).on("click", "a[href='#Submit']", function(event) {
    $(event.currentTarget).closest("form").submit()
});

然后您可以使用您的 html 表单执行此操作(注意 hrefs,“#Submit”):

@using (Html.BeginForm("Login2", "Account", FormMethod.Post, new { @id = "loginForm" }))
{
    <a id="submitlink" href="#Submit" class="button button-large">Sign In</a>
}

@using (Html.BeginForm("TroubleSubmit", "Account", FormMethod.Post, new { @id = "troubleSubmitForm" }))
{
    <a id="troubleSubmitLink" href="#Submit" class="button">OK</a>
}

使用上面的 jquery,您不需要为表单内的每个链接设置单独的单击处理程序。您只需将 href 设置为 #Submit,一个全局处理程序将负责提交。

于 2013-06-25T02:41:05.033 回答