从禁用控件提交值的脚本不起作用

问题描述 投票:0回答:1

我在这里找到了这段可爱而简单的代码:

禁用的表单字段不提交数据

这似乎对某些人有用。

我将其插入到我的项目(ASP.NET Core 8.0 MVC)中,但它不起作用:

@model Profession

<script type="text/javascript">
        @* ********** Script pour inclure dans le formulaire soumis le champ "NoProfession" qui est désactivé ********** *@
        $('form').submit(function(e) {
            $(':disabled').each(function(e) {
                $(this).removeAttr('disabled');
            })
        });
</script>

<form method="post">
    <div class="border p-3 mt-4 row">
        <div class="row pb-2">
            <h2 class="text-primary">MODIFIER UNE PROFESSION</h2>
            <hr />
        </div>
        <div class="mb-3 row p-1" style="width: 15em;">
            <label asp-for="NoProfession"> </label>
            <input asp-for="NoProfession" class="form-control" disabled />
        </div>
        <br />
        <div class="mb-3 row p-1">
            <label asp-for="NomProfession"> </label>
            <input asp-for="NomProfession" class="form-control" />
            <span asp-validation-for="NomProfession" class="text-bg-danger"> </span>
        </div>
        <br />
        <div class="mb-3 row p-1">
            <label asp-for="Inactif"> </label>
            <input asp-for="Inactif" class="form-check-input" type="checkbox">
        </div>
        <br />
        <div class="mb-3 row p-1">
            <label asp-for="RemProfession"> </label>
            <textarea asp-for="RemProfession" class="form-control" rows="5"></textarea>
        </div>
        <div class="row">
            <div class="col-6 col-md-3">
                <button type="submit" class="btn btn-primary form-control">Modifier</button>
            </div>
            <div class="col-6 col-md-3">
                <a asp-controller="Administrateur" asp-action="Professions" class="btn btn-secondary border form-control">
                    Retour à la liste des professions
                </a>
            </div>
        </div>
    </div>
</form>

@section Scripts {
        @* ********** Activation de la validation coté utilisateur ********** *@
        @{
            <partial name="_ValidationScriptsPartial" />
        }
}
asp.net-core-mvc asp.net-core-8
1个回答
0
投票

当您将 JavaScript 直接包含在 Razor 视图中时,如果放置在

@section Scripts
之外,它可能无法按预期执行,尤其是在依赖布局页面在页面正文之后加载 JavaScript 的 ASP.NET Core 项目中。

将脚本移至

@section Scripts
:

@section Scripts {
    @{
        <partial name="_ValidationScriptsPartial" />    
    }

    <script type="text/javascript">
        $('form').submit(function (e) {
            $(':disabled').each(function (e) {
                $(this).removeAttr('disabled');
            })
        });
    </script>
}
© www.soinside.com 2019 - 2024. All rights reserved.