【问题标题】:Submit not submitting form but moving cursor to input field提交不是提交表单而是将光标移动到输入字段
【发布时间】:2022-08-16 01:13:24
【问题描述】:

我没有选择,有点沮丧。我对 HTML 不太熟悉,但我有两种形式,一种是 type=\"submit\" 的按钮将我的视图模型发送到服务器端控制器,而这里它不这样做。在此表单中,如果我单击提交按钮,则光标将移至表中的 Surcharges[i].Price 输入字段。两个表单之间的唯一区别是,这里的表单在表中具有输入字段,而另一个具有选择字段。

<form autocomplete=\"off\" asp-controller=\"PriceList\" asp-action=\"UpdateSurchargeFixPrices\" enctype=\"multipart/form-data\">
    <div class=\"container\">
        <div class=\"card\">
            <div class=\"card-header bg-primary text-white\">
                <h4 class=\"text-center\">@localizer[\"PriceListEdit\"]</h4>
            </div>
            <div class=\"card-body\">
                <input hidden value=\"@Model.BackTo\" asp-for=\"BackTo\" />
                <table class=\"table\">
                    <thead>
                        <tr class=\"table-secondary\">
                            <th>@localizer[\"Bezeichnung\"]</th>
                            <th>@localizer[\"Gruppe\"]</th>
                            <th>@localizer[\"Code\"]</th>
                            <th>@localizer[\"Maximaler Wert in\"] @Model.Currency</th>
                            <th>@localizer[\"Preis in\"] @Model.Currency</th>
                        </tr>
                    </thead>
                    <tbody>
                        @if (Model.Surcharges != null)
                        {
                            for (int i = 0; i < Model.Surcharges.Count; i++)
                            {
                                <tr>
                                    <td><input hidden value=\"@Model.Surcharges[i].Id\" asp-for=\"Surcharges[i].Id\" /><input value=\"@Model.Surcharges[i].Description\" asp-for=\"Surcharges[i].Description\" /></td>
                                    <td>
                                        <input value=\"@Model.Surcharges[i].Group\" asp-for=\"Surcharges[i].Group\" />
                                    </td>
                                    <td>
                                        <input value=\"@Model.Surcharges[i].Code\" asp-for=\"Surcharges[i].Code\" />
                                    </td>
                                    <td>
                                        <input value=\"@Model.Surcharges[i].MaxValue\" asp-for=\"Surcharges[i].MaxValue\" />
                                    </td>
                                    <td>
                                        <input value=\"@Model.Surcharges[i].Price\" asp-for=\"Surcharges[i].Price\" />
                                    </td>
                                </tr>
                            }
                        }
                    </tbody>
                </table>
            </div>

        </div>
        <a class=\"btn btn-primary\" asp-controller=\"PriceList\" asp-action=\"BackTo\" asp-route-backTo=\"@Model.BackTo\">@localizer[\"zurück\"]</a>
        <a class=\"btn btn-primary\" asp-controller=\"PriceList\" asp-action=\"NewSurchargeFixPrice\">@localizer[\"neuer Aufschlag\"]</a>
        <button class=\"btn btn-primary\" type=\"submit\">@localizer[\"speichern\"]</button>
    </div>
</form>
  • 这听起来像您通过包含一个名为的部分文件启用了客户端验证_ValidationScriptsPartial.cshtml并且您的表格无效。但是,您没有包含任何验证消息帮助程序,因此您看不到任何验证错误。那可能吗?
  • 谢谢,我找不到任何 _ValidationScriptsPartial.cshtml 但表单验证部分很有用我将输入字段更改为 < input formnovalidate=\"formnovalidate\".../> 现在我可以到达控制器中的断点。

标签: html asp.net-mvc asp.net-core razor razor-pages


【解决方案1】:

我将输入字段更改为

< input formnovalidate="formnovalidate".../> 

现在我可以到达控制器中的断点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-11-05
    • 2011-11-22
    • 2011-12-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多