input设置成readonly,如何再赋值
时间: 2023-11-07 18:13:42 浏览: 38
如果将 `input` 元素的 `readonly` 属性设置为 `true`,那么该元素就无法再被用户修改。如果你需要动态地修改 `input` 元素的值,可以通过 JavaScript 代码来实现。
首先,你需要获取这个 `input` 元素的引用,可以使用 `document.getElementById()` 方法或者 `document.querySelector()` 方法来获取。例如,如果你的 `input` 元素的 `id` 属性设置为 `myInput`,那么你可以这样获取它的引用:
```javascript
var myInput = document.getElementById("myInput");
```
或者
```javascript
var myInput = document.querySelector("#myInput");
```
然后,你可以使用 `value` 属性来设置 `input` 元素的值:
```javascript
myInput.value = "新的值";
```
注意,尝试修改 `input` 元素的值时,需要确保 `readonly` 属性已经被移除或设置为 `false`。否则,你仍然无法修改 `input` 元素的值。
相关问题
el-input赋值后无法输入
您好!对于无法输入的问题,可以检查以下几个方面:
1. 检查是否正确绑定了 v-model 属性:在 el-input 组件上使用 v-model 属性可以实现双向数据绑定。确保将 v-model 绑定到一个在 data 中定义的变量上,例如:
```html
<el-input v-model="inputValue"></el-input>
```
在 data 中定义 inputValue 变量:
```javascript
data() {
return {
inputValue: ''
}
}
```
2. 检查是否存在其他事件或属性的影响:有时候可能会存在其他事件或属性对 el-input 的输入进行限制或影响。请检查是否有设置了 disabled、readonly 或者 @input 事件等。
3. 检查是否存在样式覆盖问题:有时候自定义的样式可能会覆盖了 el-input 的默认样式,导致无法输入。可以尝试移除或调整自定义样式,看看是否能够解决问题。
希望以上的建议可以帮助您解决 el-input 赋值后无法输入的问题!如果还有其他疑问,请随时提问!
<div style="padding:5px 0px;"> 本人计划自 <input datafld="qxlj_kssj" datasrc="#bind_70" id="kssj" mindex="20" name="kssj" onclick="WdatePicker({dateFmt:'yyyy-MM-dd'})" readonly="readonly" style="border-bottom: 1px solid; width: 130px; color: rgb(0, 0, 0); padding-left: 10px;" type="text" /> 至<input datafld="qxlj_jssj" datasrc="#bind_70" id="jssj" mindex="21" name="jssj" onclick="WdatePicker({dateFmt:'yyyy-MM-dd'})" readonly="readonly" style="border-bottom: 1px solid; width: 130px; color: rgb(0, 0, 0); padding-left: 10px;" type="text" /> (休假<input class="input6" datafld="qxlj_qjts" datasrc="#bind_70" id="qjts" mindex="24" name="qjts" style="width: 40px; padding-left: 10px;" type="text" readonly="readonly"/> 天,其中工作日<input class="input6" datafld="qxlj_qjgzrs" datasrc="#bind_70" id="qjgzrs" mindex="25" name="qjgzrs" style="width: 40px; padding-left: 10px;" type="text" readonly="readonly"/> 天,节假日、公休日<input class="input6" datafld="qxlj_gxrs" datasrc="#bind_70" id="gxrs" mindex="26" name="gxrs" style="width: 40px; padding-left: 10px;" type="text" readonly="readonly"/> 天) </div>根据以上代码当点击完kssj和jssj的input后自动计算休假天数并赋值给qjts
根据你提供的代码,当点击完 "kssj" 和 "jssj" 的输入框后,你想要自动计算休假天数并将结果赋值给 "qjts" 输入框。我将为你提供一段 JavaScript 代码,用于实现这个功能:
```javascript
// 获取 "kssj" 和 "jssj" 输入框元素
var kssjInput = document.getElementById("kssj");
var jssjInput = document.getElementById("jssj");
// 监听 "kssj" 和 "jssj" 输入框的点击事件
kssjInput.addEventListener("click", calculateVacationDays);
jssjInput.addEventListener("click", calculateVacationDays);
// 计算休假天数并赋值给 "qjts" 输入框的函数
function calculateVacationDays() {
// 获取 "kssj" 和 "jssj" 输入框的值
var kssjValue = kssjInput.value;
var jssjValue = jssjInput.value;
// 计算休假天数(这里只是示例,你需要根据实际需求进行计算)
var vacationDays = /* 在这里进行休假天数的计算 */;
// 将计算结果赋值给 "qjts" 输入框
var qjtsInput = document.getElementById("qjts");
qjtsInput.value = vacationDays;
}
```
请注意,上述代码中的 `/* 在这里进行休假天数的计算 */` 部分需要根据你的实际需求进行休假天数的计算逻辑编写。你可以使用日期计算库,如 Moment.js 或日期对象的相关方法来计算日期差值,并将结果赋值给 "qjts" 输入框。
另外,你可能还需要确保在文档加载完成后执行这段 JavaScript 代码,可以将代码放置在 `<script>` 标签中,或者在 `<body>` 标签最底部使用 `<script>` 标签包裹代码。