相关疑难解决方法(0)

为什么单选按钮不能"只读"?

我想显示一个单选按钮,提交其值,但根据具体情况,让它不可编辑.禁用不起作用,因为它没有提交值(或者是吗?),它会使单选按钮变灰.只读是我正在寻找的,但由于一些神秘的原因,它不起作用.

是否有一些奇怪的技巧我需要拉动以使只读按预期工作?我应该用JavaScript代替吗?

顺便说一下,有没有人知道为什么只读在单选按钮中不起作用,而它在其他输入标签中有效?这是HTML规范中难以理解的遗漏之一吗?

html readonly radio-button

198
推荐指数
5
解决办法
23万
查看次数

如何确保在禁用时提交<select>表单字段?

我有一个select表单字段,我想标记为"只读",因为在用户无法修改值,但值仍然与表单一起提交.使用该disabled属性可防止用户更改值,但不会使用表单提交值.

readonly属性仅适用于inputtextarea字段,但这基本上就是我想要的.有没有办法让它工作?

我正在考虑的两种可能性包括:

  • 而不是禁用select,禁用所有options并使用CSS灰显选择,使其看起来像禁用.
  • 向提交按钮添加单击事件处理程序,以便在提交表单之前启用所有禁用的下拉菜单.

html javascript css forms html-select

172
推荐指数
8
解决办法
19万
查看次数

如何将整个HTML表单"只读"?

再次编辑:

当然这是标准的东西?我不能重新发明轮子?? !! 用户填写表单并向他显示(使用PHP,但这不重要).你把它作为确认显示给他,所以他不应该再次尝试改变它......


请参阅相关问题,如何将表单列表框显示为只读或禁用所选索引? 它的要点是我想执行一项非常常见的任务......

有两种形式 - HTML中的提交表单和PHP中的处理和确认表单.

第一种形式在许多控件中提供选择,第二种形式在输入中进行验证,如果有效,则再次使用确认消息显示输入表单.在第二个表单中,所有字段必须是静态的.

从我所看到的,一些表单控件可以是,readonly而且一切都可以disabled,不同之处在于您仍然可以选择只读字段.

无论如何,不​​是按字段进行此字段,而是将整个表单标记为只读/禁用/静态,以便用户不能更改任何控件?


编辑:感谢所有JS解决方案(我有+1),但我只能使用服务器端解决方案.对不起,我本来应该这么说.


[更新]七年后仍然得到答案;-)我最后做的是从PHP生成表单,并为每个字段写一个readonlydisabled属性(适合控件的类型),设置为根据全局变量的真或假.

html

131
推荐指数
7
解决办法
12万
查看次数

如何只读一个复选框?没有禁用?

我有一个表单,我必须将表单值发布到我的动作类.在这种形式中,我有一个需要只读的复选框.我尝试过设置,disabled="true"但在发布到动作类时不起作用.

所以请指教?

javascript checkbox

36
推荐指数
6
解决办法
13万
查看次数

Razor如何创建一个CheckBox并使其成为READONLY?

我正在使用MVC 3和Razor

目前我正在使用

@model MyProject.ViewModels.MyViewModel

    @foreach (var item in Model.MyProperty)
{  
    <tr>
        <td>
            @Html.ActionLink("Edit", "Edit", new { id = item.AdvSlotId }) |
            @Html.ActionLink("Details", "Details", new { id = item.AdvSlotId }) |
            @Html.ActionLink("Delete", "Delete", new { id = item.AdvSlotId })
        </td>
        <td>
            @item.AdvSlotId
        </td>
        <td>
            @item.Name
        </td>
        <td>
            @item.Description
        </td>
        <td>
             @Html.CheckBox(item.IsPublished, new { @disabled = "disabled" })
        </td>
        <td>
            @item.Notes
        </td>
    </tr>    
}
Run Code Online (Sandbox Code Playgroud)

查看模型:

namespace MyProject.ViewModels
{
    public class MyViewModel
    {
        public MyViewModel(List<AdvSlot> advSlots)
        {
            MyProperty= advSlots;
        }

        public List<AdvSlot> …
Run Code Online (Sandbox Code Playgroud)

asp.net-mvc razor asp.net-mvc-3

27
推荐指数
3
解决办法
6万
查看次数

ng-readonly无法在角度复选框中工作

我可以在复选框中使用ng-readonly指令吗?

即使用ng-readonly修饰后,该复选框也是可写的.

HTML:

<input type="checkbox" ng-model="model" ng-readonly="test" /> {{model}}
Run Code Online (Sandbox Code Playgroud)

控制器:

myApp.controller('MyCtrl', function($scope) {
    $scope.test = true;
});
Run Code Online (Sandbox Code Playgroud)

添加小提琴

checkbox angularjs

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

视觉上禁用复选框但允许它仍然提交其值

我有一个复选框,可以从其他选项中更新,但向用户显示已检查状态非常重要.但是我也希望它只能在功能中读取并在显示中表示.

  • 它通过 禁用复选框(给出灰色框以在视觉上帮助用户)工作正常但是这意味着在提交时不会保存该值.

  • 相反,如果我将复选框设置为只读,则禁用复选框,但仍然显示为普通复选框.

我有点想从每个,一个复选框提交它的值,但看起来像一个禁用的复选框,仍然显示其检查状态...有没有人有任何想法?

html css checkbox jquery

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

如何在禁用复选框上检测.click()

JS/jQuery的:

$('input[type=checkbox]').click(function(){
  // Does not fire if I click a <input type="checkbox" disabled="disabled" />
});
Run Code Online (Sandbox Code Playgroud)

当有人点击禁用的复选框时,如何在jQuery中发生一些事情?

javascript jquery

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

如何在Spring MVC中获取禁用复选框的值

我正在处理Spring MVC应用程序,我遇到了一个问题,即在禁用时获取复选框的值.

在report.jsp页面中:

<form:checkbox type="checkbox" path="corporateColumn" id="corporateColumn" value="true" checked="checked" disabled="true" />
Run Code Online (Sandbox Code Playgroud)

在ReportForm.java中:

boolean corporateColumn ;

public boolean isCorporateColumn() {
        return corporateColumn;
}

public void setCorporateColumn(boolean corporateColumn) {
        this.corporateColumn = corporateColumn;
}
Run Code Online (Sandbox Code Playgroud)

在ReportController.java中;

boolean corporateColumn = reportDTO.isCorporateColumn(); // this evaluates to false
//Which expected as true when corporateColumn checkbox is checked
Run Code Online (Sandbox Code Playgroud)

除非对于复选框字段使用disabled ="true"(/ disabled ="$ {'true'}"),否则一切正常.

我在获取禁用文本字段的值时也遇到了类似的问题,并通过只读字段来克服它.所以我不确定Spring MVC在禁用时是否无法获取输入字段的值.

任何指导都会非常感激.

谢谢!

java jsp spring-mvc

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

HTML:为什么在没有禁用状态更改复选框的情况下没有本机支持来限制状态更改?

在HTML中,只有文本框,文本区域,密码框等文本控件具有只读属性.为什么他们不支持复选框/单选按钮?

我知道我可以通过使用onclick ="return false;"来使用脚本实现此功能.(我不想要任何解决方法,我只想知道不提供本机支持的原因来实现这一点)

但我的问题是,即使它接受来自用户的输入,也有任何特定原因不支持只读复选框/单选按钮.

编辑1: 我发现了这个,但它没有回答我的问题 - 为什么没有本地方法来限制用户在不禁用它的情况下更改状态?

html

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

为什么 :read-only CSS 伪类应用于此复选框?

我有以下 SCSS 代码:

input[type="checkbox"] {
    ...
    &:read-only, &[readonly] {
        cursor: default;
        filter: grayscale(1);
    }
}
Run Code Online (Sandbox Code Playgroud)

这正被应用到
<input type="checkbox" id="checkbox" onChange={this.rememberMe} />

以下MDN: :只读文档:

它将选择用户无法编辑的任何元素。

为什么它被应用到我的可编辑输入上?

该问题同时适用于 Firefox 和 Chrome。

开发工具

html css sass jsx reactjs

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

在客户端将 MVC 复选框设置为只读(或禁用)

我们有几个 MVC 复选框,例如:

@Html.CheckBoxFor(model => model.hasData, …)
Run Code Online (Sandbox Code Playgroud)

我们有条件客户端代码,需要将 div 中的所有控件设置为只读(包括这些复选框):

if (someCondition) {
    $('#' + divIdToDisable + ' input').attr('readonly', 'true');
}
Run Code Online (Sandbox Code Playgroud)

我们了解到 readonly 在复选框上不能正常工作(见下文)。

我尝试了以下操作,但这会导致在“保存”期间没有数据回传(另请参见下文):

 $('#' + divIdToDisable + ' input').attr('disabled', 'true');
Run Code Online (Sandbox Code Playgroud)

这似乎是一个常见问题,但是在我所有的研究中,我还没有找到一个好的客户端解决方案。


这是我的研究:

复选框上的只读并不总是适用于所有浏览器:

HTML 复选框可以设置为只读吗?

如何将复选框设为只读?没被禁用?

在 MVC 中使用 'disabled' 会导致没有值被回发:

如果禁用,Html.CheckBox 返回 false,即使已选择

http://davecallan.com/posting-disabled-checkboxes-mvc-razor-views/

可以在剃刀代码中实现条件“禁用” :

Asp .net mvc 3 CheckBoxFor 方法输出隐藏字段,当复选框被选中为 true 时,该隐藏字段值为 false

MVC 3:使用 HtmlHelpers 有条件地添加禁用属性

然而,这些不是客户端解决方案。

html checkbox asp.net-mvc jquery readonly

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