我有两页HTML表单。第一页有一个提交表单,第二页有一个确认表单。第一个表单提供了许多控件的选择,而第二个页面再次显示来自提交表单的数据,并显示确认消息。在第二种形式中,所有字段必须是静态的。

从我所看到的,一些表单控件可以是只读的,所有控件都可以被禁用,区别在于你仍然可以选择一个只读字段。

而不是按字段做这个是否有任何方法标记整个表单为只读/禁用/静态,这样用户就不能改变任何控件?


当前回答

你在表单上添加html隐形层。例如

<div class="coverContainer">
<form></form>
</div>

和风格:

.coverContainer{
    width: 100%;
    height: 100%;
    z-index: 100;
    background: rgba(0,0,0,0);
    position: absolute;
}

当然用户可以在浏览器中隐藏这一层。

其他回答

没有完全兼容的、官方的HTML方法来做到这一点,但一点javascript就可以大有帮助。 您将遇到的另一个问题是,禁用的字段不会显示在POST数据中

<form inert>

这不会改变表单的样式,但会阻止所有输入的可聚焦性和任何按钮的可点击性。

你可以在表单上使用一个不透明的图层:

放置位置:相对于表格 添加透明块div作为这个表单的子元素,position: absolute,并且上、下、左、右等于0

将输入字段和其他内容包装到<fieldset>中,并赋予其disabled="disabled"属性。

示例(http://jsfiddle.net/7qGHN/):

< >形式 <自定义字段禁用= "禁用" > <input type="text" name="something" placeholder="enter some text" /> <选择> <option value="0" disabled="disabled" selected="selected">select something </option> <选项值= " 1 " >游戏> < /选项 <选项值= " 2 " > < /选项> 这<选项值= " 3 " > < /选项> < /选择> < /自定义字段> > < /形式

你在表单上添加html隐形层。例如

<div class="coverContainer">
<form></form>
</div>

和风格:

.coverContainer{
    width: 100%;
    height: 100%;
    z-index: 100;
    background: rgba(0,0,0,0);
    position: absolute;
}

当然用户可以在浏览器中隐藏这一层。