Html 输入只读退格问题

Html 输入只读退格问题,html,input,readonly,Html,Input,Readonly,在我的input元素中,当我导航到该元素并使用键盘输入退格键时,当我将输入设置为只读时,它将导航到上一页 我的代码如下。请分享你的知识 <div class="div1"> <label class="div1" for="inputfor">cash:</label> <input type="text" id="cashinput" readonly="readonly" /> </div> 现金: 对于具有只读

在我的
input
元素中,当我导航到该元素并使用键盘输入退格键时,当我将输入设置为
只读时,它将导航到上一页

我的代码如下。请分享你的知识

<div class="div1">
    <label class="div1" for="inputfor">cash:</label>
    <input type="text" id="cashinput" readonly="readonly" />
</div>

现金:

对于具有只读属性的输入,这是预期的正确行为

具有此属性的输入无法修改,只能查看,您可以通过制表符和复制来访问内容,但仅此而已


如果不需要,请删除readonly属性

您可以始终将输入字段保持为只读,完全不允许输入

<div class="div1">
    <label class="div1" for="inputfor">cash:</label>
    <input type="text" id="cashinput" onkeydown="return false;" readonly="readonly"/>
</div>​​​​​​​​​​​​​​​

现金:
​​​​​​​​​​​​​​​

我知道这个问题是两年前提出的。因为我有一个对我有用的解决方案,我很想和大家分享

解决方法非常简单:

<input type="text" onkeydown="event.preventDefault()" readonly="readonly"/>

event.preventDefault()将阻止退格从页面导航,您还可以选择并复制文本


谢谢。

如果您因为位置原因而进入页面。href=“new/page/url”

改为使用location.replace(“new/page/url”)

location.href=“new/page/url”;//加载新页面并将当前页面保存为IE中的历史记录

提及 这句话帮助了我:

onkeydown="if(this.readOnly) event.preventDefault();"

您无法在
只读
字段中获取光标。按下
退格
将调用
浏览器的
后退按钮事件,并将重定向到上一页。当文本框为只读时点击退格的目的是什么?@PankitKapadia Not true!光标可以放在只读文本框内。但当backspace被禁用时,它不会做任何事情pressed@asprin-这取决于浏览器。不建议使用
禁用
,因为它不会在表单提交上发布值,但我需要使用特定的文本框只读模式。用户无法更改值。这样就没有错误或问题,这是标准行为。我的用户只有复制文本框中只有我给光标的内容的权限。但是我的用户尝试使用backspace删除文本,这将是对上一页的操作Chrome和Mozilla在只读字段有焦点时按backspace键时不会将您带到上一页。这是我所期望的行为,也是对我有意义的行为。@JonathanVance,完全正确,因为退格作为导航键的设计很差,并且让许多填写表单的用户感到沮丧,因为他们在错误的字段中按了退格键而丢失了数据。谢谢。它正在工作,但我需要通过keyboard@user279-我不明白你的意思。onkeydown=“return false;使用它可以很好地工作。但是我需要从我没有访问键盘的文本区域复制文本。谢谢你的回答。它已修复。这是问题的真正答案。