Javascript: 为<input>设置readOnly属性问题,希望大家以后要小心

本文记录了作者在使用JavaScript设置文本框只读属性时遇到的问题及解决过程。指出正确的设置方式为使用readOnly=true,强调JavaScript中大小写的敏感性。
今天系统需要使用javascript 动态设置textbox的readonly ,

搞了半天一直没有搞定

最后发现 readonly 属性应该是 readOnly=true .

javascript 的大小写烦死人
<!DOCTYPE html><br/><html lang="zh"><br/><head><br/> <meta charset="UTF-8" /><br/> <meta name="viewport" content="width=device-width, initial-scale=1.0"/><br/> <title>征婚网注册</title><br/> <style><br/> body {<br/> font-family: "Microsoft YaHei", sans-serif;<br/> background-color: #f5f5f5;<br/> display: flex;<br/> justify-content: center;<br/> align-items: center;<br/> height: 100vh;<br/> margin: 0;<br/> }<br/> .form-container {<br/> width: 400px;<br/> padding: 30px;<br/> background: white;<br/> border-radius: 10px;<br/> box-shadow: 0 4px 10px rgba(0,0,0,0.1);<br/> }<br/> h2 {<br/> text-align: center;<br/> color: #d63384;<br/> }<br/> .input-group {<br/> margin-bottom: 15px;<br/> }<br/> label {<br/> display: block;<br/> margin-bottom: 5px;<br/> font-weight: bold;<br/> }<br/> input[type="text"], input[type="tel"], select {<br/> width: 100%;<br/> padding: 8px;<br/> border: 1px solid #ccc;<br/> border-radius: 5px;<br/> }<br/> .checkbox-group {<br/> display: flex;<br/> flex-wrap: wrap;<br/> gap: 10px;<br/> }<br/> .checkbox-item {<br/> display: flex;<br/> align-items: center;<br/> }<br/> .checkbox-item input {<br/> margin-right: 5px;<br/> }<br/> .btn-group {<br/> display: flex;<br/> justify-content: space-between;<br/> margin-top: 20px;<br/> }<br/> button {<br/> padding: 10px 20px;<br/> border: none;<br/> border-radius: 5px;<br/> cursor: pointer;<br/> }<br/> .reset-btn {<br/> background: #6c757d;<br/> color: white;<br/> }<br/> .login-btn {<br/> background: #d63384;<br/> color: white;<br/> }<br/> </style><br/></head><br/><body><br/><div class="form-container"><br/> <h2>征婚网</h2><br/> <div class="input-group"><br/> <label>性别:</label><br/> <div><br/> <input type="radio" id="male" name="gender" value="男" checked /><br/> <label for="male">男</label><br/> <input type="radio" id="female" name="gender" value="女" /><br/> <label for="female">女</label><br/> </div><br/> </div><br/> <div class="input-group"><br/> <label>出生年月:</label><br/> <select style="width: 32%; display: inline-block;"><br/> <option>请选择年</option><br/> <!-- 年份循环 --><br/> <script><br/> const year = new Date().getFullYear();<br/> for (let i = year; i >= 1950; i--) {<br/> document.currentScript.previousElementSibling.innerHTML += `<option>${i}</option>`;<br/> }<br/> </script><br/> </select><br/> <select style="width: 30%; display: inline-block;"><br/> <option>请选择月</option><br/> <script><br/> for (let i = 1; i <= 12; i++) {<br/> document.currentScript.previousElementSibling.innerHTML += `<option>${i}</option>`;<br/> }<br/> </script><br/> </select><br/> <select style="width: 30%; display: inline-block;"><br/> <option>请选择日</option><br/> <script><br/> for (let i = 1; i <= 31; i++) {<br/> document.currentScript.previousElementSibling.innerHTML += `<option>${i}</option>`;<br/> }<br/> </script><br/> </select><br/> </div><br/> <div class="input-group"><br/> <label>所在地区:</label><br/> <input type="text" value="奋斗者之家" readonly /><br/> </div><br/> <div class="input-group"><br/> <label>婚姻状况:</label><br/> <div><br/> <input type="radio" id="single" name="status" value="单身" checked /><br/> <label for="single">单身</label><br/> <input type="radio" id="unmarried" name="status" value="未婚" /><br/> <label for="unmarried">未婚</label><br/> <input type="radio" id="divorced" name="status" value="离异" /><br/> <label for="divorced">离异</label><br/> </div><br/> </div><br/> <div class="input-group"><br/> <label>学历:</label><br/> <input type="text" value="小学" readonly /><br/> </div><br/> <div class="input-group"><br/> <label>月薪:</label><br/> <input type="text" value="1000~100000" readonly /><br/> </div><br/> <div class="input-group"><br/> <label>手机号:</label><br/> <input type="tel" placeholder="请输入手机号" /><br/> </div><br/> <div class="input-group"><br/> <label>昵称:</label><br/> <input type="text" placeholder="请输入昵称" /><br/> </div><br/> <div class="input-group"><br/> <label>喜欢的类型:</label><br/> <div class="checkbox-group"><br/> <div class="checkbox-item"><input type="checkbox" /> <label>爱打篮球</label></div><br/> <div class="checkbox-item"><input type="checkbox" /> <label>温柔</label></div><br/> <div class="checkbox-item"><input type="checkbox" /> <label>可爱</label></div><br/> <div class="checkbox-item"><input type="checkbox" /> <label>小鲜肉</label></div><br/> <div class="checkbox-item"><input type="checkbox" /> <label>御姐</label></div><br/> <div class="checkbox-item"><input type="checkbox" /> <label>萝莉</label></div><br/> </div><br/> </div><br/> <div class="input-group"><br/> <label>自我介绍:</label><br/> <textarea rows="3" style="width:100%; padding:8px; border:1px solid #ccc; border-radius:5px;" placeholder="请填写自我介绍"></textarea><br/> </div><br/> <div class="input-group"><br/> <div><input type="checkbox" checked /> 我承诺年满18岁、单身</div><br/> <div><input type="checkbox" checked /> 抱着严肃的态度</div><br/> <div><input type="checkbox" checked /> 真诚寻找另一半</div><br/> <div><input type="checkbox" /> 我同意注册条款和会员加入标准</div><br/> </div><br/> <div class="btn-group"><br/> <button class="reset-btn">RESET</button><br/> <button class="login-btn">登录</button><br/> </div><br/></div><br/></body><br/></html>
最新发布
10-30
需要通过IDEA,java语言开发一个界面,通过接口的方式将一些参数,传递给通过unity发布的webgl页面,实现打开webgl页面的内容,怎么实现,具体需要做哪些内容,需要怎么写代码,给出详细的方案和代码,主要传递的参数为以下内容,给出详细的开发过程和完成的代码,参数为字段名 类型 说明 DoorName string 车门名称 IsPart Bool 是否为部件认知 PartName string 部件名称,空值时进入部件整体认知 PartChildName string 子部件名称 FitType string 装配类型(1.安装 2.拆卸 3. 例检养护 4.故障检修 5.高级修) CourseName string 课程名称 AdjustChildName string 调整子工序名称 FromStep int 步骤开始序号 EndStep int 步骤结束序号 TargetStep int 点对点步骤序号,需要将这个webgl界面嵌入在java开发的这个页面中,且页面具备可以上一步下一步控制步骤序号的能力,采用158.58.50.11的服务器部署呢,课程名称写死,在java开发页面上只有上一步和下一步和打开的webgl界面,webgl部署在158.58.50.11的服务器上面,有个index文件,代码为<!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title>WebGL 控制面板</title> <script> let currentStep = 2; function updateStep(step) { currentStep = step; document.getElementById("TargetStep").value = step; sendToIframe(); } function sendToIframe() { const iframe = document.getElementById('webglFrame'); const data = { DoorName: document.getElementById("DoorName").value, IsPart: document.getElementById("IsPart").checked, PartName: document.getElementById("PartName").value, PartChildName: document.getElementById("PartChildName").value, FitType: document.getElementById("FitType").value, CourseName: document.getElementById("CourseName").value, AdjustChildName: document.getElementById("AdjustChildName").value, FromStep: document.getElementById("FromStep").value, EndStep: document.getElementById("EndStep").value, TargetStep: document.getElementById("TargetStep").value }; const jsonStr = JSON.stringify(data); iframe.contentWindow.postMessage({ type: 'fromParent', message: jsonStr }, '*'); } </script> </head> <body> <h2>Unity WebGL 控制面板</h2> <label>车门名称:</label> <input type="text" id="DoorName" value="客室塞拉门MSA2410500"><br><br> <label>是否为部件:</label> <input type="checkbox" id="IsPart"><br><br> <label>装配类型:</label> <select id="FitType"> <option value="1">安装</option> <option value="2">拆卸</option> <option value="3">例检养护</option> <option value="4">故障检修</option> <option value="5">高级修</option> </select><br><br> <label>部件名称:</label> <input type="text" id="PartName" value="承载驱动机构"><br><br> <label>子部件名称:</label> <input type="text" id="PartChildName" value="机架体"><br><br> <label>课程名称:</label> <input type="text" id="CourseName" value="测量"><br><br> <label>调整子工序名称:</label> <input type="text" id="AdjustChildName" value="调整分支1"><br><br> <label>步骤起始编号:</label> <input type="text" id="FromStep" value="1"><br><br> <label>步骤结束编号:</label> <input type="text" id="EndStep" value="4"><br><br> <label>目标步骤编号:</label> <input type="text" id="TargetStep" value="2"><br><br> <button onclick="updateStep(currentStep - 1)">上一步</button> <button onclick="updateStep(currentStep + 1)">下一步</button> <button onclick="sendToIframe()">发送数据</button> <iframe id="webglFrame" src="http://158.58.50.10:8012/Build_WEBGL?DoorName=客室塞拉门MSA2410500&IsPart=false&FitType=1&CourseName=安装上密封框&FromStep=1&EndStep=12&TargetStep=2" width="1200" height="700"></iframe> </body> </html> 怎么通过接口传递这些参数
07-25
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值