相关疑难解决方法(0)

禁用的表单输入不会出现在请求中

我在表单中有一些禁用的输入,我想将它们发送到服务器,但Chrome会从请求中排除它们.

没有添加隐藏字段,有没有解决方法?

<form action="/Media/Add">
    <input type="hidden" name="Id" value="123" />

    <!-- this does not appear in request -->
    <input type="textbox" name="Percentage" value="100" disabled="disabled" /> 

</form>
Run Code Online (Sandbox Code Playgroud)

html browser forms http

313
推荐指数
5
解决办法
18万
查看次数

Angular2 RC6禁用输入

以前在我的Angular2 RC5应用程序中,我有一个输入元素,如下所示:

<input type="text" formControlName="blah" disabled/>
Run Code Online (Sandbox Code Playgroud)

目的是使用户在编辑模式下不可编辑该字段; 因此禁用属性.

升级到Angular2 RC6后,我在控制台中收到以下消息:

看起来您正在使用带有反应式表单指令的disabled属性.如果在组件类中设置此控件时将disabled设置为true,则实际将在DOM中为您设置disabled属性.我们建议使用此方法来避免"检查后更改"错误.

例:

form = new FormGroup({
   first: new FormControl({value: 'Nancy', disabled: true}, Validators.required),
   last: new FormControl('Drew', Validators.required)
});
Run Code Online (Sandbox Code Playgroud)

但是,如果我遵循此建议,删除我的禁用属性并将我的FormControl替换为禁用设置为true,那么该字段不会在提交时发布(即它不会出现在form.value中).

我是否错误地编码了这种情况?是否有一种方法可以将禁用的FormControl包含在表单值中?

作为旁注,我实际上正在使用FormBuilder而不是设置每个FormControl,如果这有所不同.

angular

14
推荐指数
2
解决办法
1万
查看次数

禁用角度形式的输入

嗨,我正在使用 angular 7,我想禁用检索用户信息的输入,但是当我使用时, [disabled] = true它不起作用我想禁用该lastname字段,我尝试了这个,但是当我这样做并发送我的表单时,它不会发送在 json 上禁用的输入

这是我在代码 html 中的表单:

<div id="forms" class="page-layout simple fullwidth" fxLayout="column">

    <!-- HEADER -->
    <div class="header accent p-24 h-160" fxLayout="row" fxLayoutAlign="start center">
        <div fxLayout="column" fxLayoutAlign="center start">
            <div fxLayout="row" fxLayoutAlign="start center">
                <mat-icon class="secondary-text s-18">home</mat-icon>
                <mat-icon class="secondary-text s-16">chevron_right</mat-icon>
                <span class="secondary-text">Contact</span>
            </div>
            <div class="h1 mt-16">Contact</div>
        </div>
    </div>
    <!-- / HEADER -->
    <div class="content p-24">
        <p class="pt-16 pb-32">
            {{'contact.Veuillez remplir le formulaire ci-dessous pour effectuer votre demande.Nous allons traiter votre requête dans les plus brefs …
Run Code Online (Sandbox Code Playgroud)

html forms angular

9
推荐指数
2
解决办法
2万
查看次数

隐藏/禁用字段从 req.body 中消失(Express JS bodyParser)

我一直无法找到这个问题的答案。在使用 NodeJS、Express 和 Express Bodyparser 以及我的 MEAN 堆栈的其余部分时,我遇到了隐藏字段和禁用字段的问题:提交表单时,它们没有显示在 req.body 对象中。

如果我理解正确的话,express 的 bodyparser 方面实际上是从另一个项目中获取的。无论如何,我一直无法弄清楚为什么要删除这些字段或如何阻止这种情况发生。我怀疑它可能与methodoverride有关,但启用/禁用它对相关字段没有影响。

所以..对于我自己和未来的谷歌人来说:这里发生了什么?

这是一些代码,根据要求:JADE:

form(action="/admin/users/edit", method="post", ng-submit='registerUser($event)', name='form', novalidate)
    .row(ng-show="ifweareupdating")
        label(for="_id") _id:
        input(type="hidden", id="_id", name="_id", ng-model="newUser._id")
        input(type="text", id="_notHiddenId', name="_notHiddenId", ng-model="newUser._id")
Run Code Online (Sandbox Code Playgroud)

表达:

app.post("/admin/users/edit", pass.ensureAdmin, userRoutes.editUserPost);
Run Code Online (Sandbox Code Playgroud)

用户路由:

exports.userRoutes.editUserPost = function(req,res,next) { 
    console.log(req.body._id) // logs undefined
    console.log(req.body._notHiddenId) // logs actual id
}
Run Code Online (Sandbox Code Playgroud)

javascript node.js express angularjs

2
推荐指数
1
解决办法
2814
查看次数

当输入被禁用时,模型到达控制器时为空

在我的表单中,我有两个被禁用的输入,因为用户必须使用我在视图上制作的键盘来填充它们。但是,当我提交表单时,对象到达时其参数为 0(因为它们是数字)。我知道它是禁用标签导致这种情况发生的,因为当我删除标签时,值会被初始化。

这些是我的输入:

 <td>@Html.EditorFor(model => model.Cliente, new { htmlAttributes = new { disabled = "true" } })</td>
Run Code Online (Sandbox Code Playgroud)

我怎样才能禁用它们并同时将值发送到控制器?

forms model-view-controller asp.net-mvc-5

1
推荐指数
1
解决办法
588
查看次数

当我将禁用属性放入 html 输入标记 asp.net-core mvc 时不映射它

设想:

现在这对我来说很奇怪。当我将表单提交到控制器时,所有输入字段都被正确映射,但是:

<input asp-for="Id" disabled class="form-control" value="something"/>
Run Code Online (Sandbox Code Playgroud)

不会(始终为空)。

问题是:

当我删除禁用时效果完美!

我有另一个页面具有类似的禁用输入字段,并且该页面工作正常。这里发生了什么?

asp.net-core-mvc asp.net-core

1
推荐指数
1
解决办法
3295
查看次数