Mat*_*ght 35 forms html5 google-chrome readonly required-field
我正在制作一张表格.在一个input
标签上是一个OnClick
事件处理程序,它打开一个弹出窗口,您可以在其中选择一些内容,然后自动填充input
标记.
该输入标签也是readonly
,因此只输入正确的数据.
这是input
标签的代码:
<input type="text" name="formAfterRederict" id="formAfterRederict" size="50" required readonly="readonly" OnClick="choose_le_page();" />
Run Code Online (Sandbox Code Playgroud)
但该required
属性在Chrome中无效.但这个领域是必需的.
有谁知道我怎么能让它发挥作用?
Kan*_*hal 88
我和你的要求相同,我想出了一个简单的方法.如果你想要"readonly"字段也是"必需"(基本HTML不支持),并且你觉得懒得添加自定义验证,那么只需使用jquery以这种方式读取字段:
<input type="text" class="readonly" required />
<script>
$(".readonly").keydown(function(e){
e.preventDefault();
});
</script>
Run Code Online (Sandbox Code Playgroud)
编辑
正如@Ed Bayiates在评论中指出的那样,您还可以像这样添加paste处理程序来阻止默认:
<input type="text" class="readonly" required />
<script>
$(".readonly").on('keydown paste', function(e){
e.preventDefault();
});
</script>
Run Code Online (Sandbox Code Playgroud)
Ben*_*enM 31
readonly
字段不能具有该required
属性,因为通常认为它们已经拥有某个值.
Par*_*tel 13
删除readonly
并使用功能
<input type="text" name="name" id="id" required onkeypress="return false;" />
Run Code Online (Sandbox Code Playgroud)
它可以按你的需要工作.
Yev*_*yev 12
Required
并且readonly
不要一起工作。
但readonly
可以用以下结构替换:
<input type="text"
onkeydown="return false;"
style="caret-color: transparent !important;"
required>
Run Code Online (Sandbox Code Playgroud)
1)onkeydown
将停止对数据的操作
2)style="caret-color: transparent !important;"
将隐藏光标。
3)style="pointer-events: none;"
如果您的输入没有任何事件,您可以添加,但这不是我的情况,因为我使用了Month Picker
. 我Month picker
在点击时显示一个对话框。
是的,这个问题有一个解决方法.我是从https://codepen.io/fxm90/pen/zGogwV网站找到的.
解决方案如下.
HTML文件
<form>
<input type="text" value="" required data-readonly />
<input type="submit" value="Submit" />
</form>
Run Code Online (Sandbox Code Playgroud)
CSS文件
input[data-readonly] {
pointer-events: none;
}
Run Code Online (Sandbox Code Playgroud)
如果有人只想从 html 中执行此操作,这对我有用。
<input type="text" onkeydown="event.preventDefault()" required />
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
55898 次 |
最近记录: |