用JS实现input输入框里的只读属性

大家好!今天我再写程序时,见到了用js如何使input里的输入框产生只读属性。特意搜索一些资料,网上说的很多,我见到了一个特别的,而且简单,给大家分享一下。
欢迎大家转发,版权归作者所有,转载请注明出处

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title> New Document </title>

  <meta name="Generator" content="EditPlus">

  <meta name="Author" content="">

  <meta name="Keywords" content="">

  <meta name="Description" content="">

 </head>

<script language="JavaScript">

function isreadonly(){

var obj = document.getElementById("username");

obj.setAttribute("readonly",true);

obj.style.backgroundColor="#d2d2d2";

}

function readwrite(){

var obj = document.getElementById("username");

obj.removeAttribute("readOnly");

obj.style.backgroundColor="#ffffff";

}

</script>

 <body>

  <form name="addform" id="addform" method="post" action="" >

  <input type="text" id="username" name="username">

  <input type="button" name="只读" value="read" onclick="isreadonly();">

  <input type="button" name="可写" value="write" onclick="readwrite();">

  </form>

 </body>

</html>

点击只读按钮输入框就会变色,并且只读不写,再点击可写按钮就会撤销只读属性,变得可写,并且颜色也变回来了。

### 如何在 UniApp 中将 Input 输入框设置为只读 为了使 `input` 组件变为只读,在 UniApp 中可以利用原生 HTML 的 `readonly` 属性实现这一功能[^1]。对于 Vue.js 驱动的应用程序而言,还可以通过绑定动态属性的方式控制组件的状态。 #### 使用静态方式定义只读输入框 可以直接在模板内的 `<input>` 或者 `<uni-input>` 标签上添加 `readonly` 属性: ```html <template> <view class="example"> <!-- 下面的例子展示了如何创建一个默认状态下不可编辑的文本框 --> <input type="text" placeholder="这是一个只读字段" readonly /> <!-- 如果使用的是 uni-app 提供的封装好的 input 组件,则应这样写 --> <uni-easyinput v-model="value" placeholder="这也是个只读域" readonly></uni-easyinput> </view> </template> ``` #### 动态切换只读模式 如果希望能够在运行期间改变输入框是否可编辑的情况,可以通过数据绑定的方式来管理这个特性。下面是一个简单的例子说明怎样做到这一点: ```javascript <script setup lang="ts"> import { ref } from 'vue'; // 定义变量用于存储当前输入框的状态以及内容 let inputValue = ref(''); let isReadOnly = ref(true); function toggleReadonlyStatus(){ // 切换只读状态 isReadOnly.value = !isReadOnly.value; } </script> <template> <view> <button @click="toggleReadonlyStatus">点击切换只读/可编辑</button><br/> <input :readonly="isReadOnly" v-model="inputValue"/> </view> </template> ``` 此方法允许开发者基于应用程序逻辑灵活调整控件的行为,而无需手动操作 DOM 元素。 关于样式方面,虽然设置了 `readonly` 后浏览器通常会自动应用一些视觉提示(比如浅灰色背景),但如果想要自定义外观,也可以借助 CSS 来完成特定的设计需求[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值