javascript禁用jsp页面中的文本框

标签 javascript jsp

我的 jsp 页面中有这三个字段。

    <td>
           <html:text property="my_dto.number1" </html:text>
   </td>
    <td>
           <html:text property="my_dto.number2" </html:text> 
    </td>

    <td>                                    
          <input type ="checkbox" id ='isTrue' /> 
    </td>

现在我想如果 isTrue 被选中,两个文本框将被禁用。怎么办?

最佳答案

事实:JSP 在网络服务器上运行,生成 HTML/CSS/JS 并将其发送到网络浏览器。 JS 在 web 浏览器上运行,只能看到 HTML DOM 树,看不到任何 Java/JSP 行。右键单击网络浏览器中的页面,选择查看源并查看您自己。你懂吗?好的,然后继续。

在生成的 HTML 源中,您应该看到一些 HTML <input type="text">元素代替 Struts 的 <html:text>成分。我不使用 Struts,但是一个像样的 MVC 框架会给这些 HTML 元素分配一个 id以及。如果没有这样做或者ID值是随机生成的,您想自己设置一个固定的ID。根据TLD documentation ,您需要设置styleId属性:<html:text styleId="someFixedId"> .

最后,编写一个 JS 函数,该函数在单击复选框时执行并修改 disabled这些文本元素的属性相应。 Andy E已经给出了一些提示。 JSP 基本上应如下所示:

<html:text property="my_dto.number1" styleId="number1" />
<html:text property="my_dto.number2" styleId="number2" /> 
<input type="checkbox" id="isTrue" onclick="disableNumbers(this)" /> 

<script>
    function disableNumbers(checkbox) {
        var number1 = document.getElementById("number1");
        var number2 = document.getElementById("number2");
        number1.disabled = number2.disabled = checkbox.checked;
    }
</script>

关于javascript禁用jsp页面中的文本框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3361718/

相关文章:

javascript - Div 与前一个 div 重叠并破坏了前一个 div 的功能

javascript - 带有粒子的D3.js Sankey图

javascript - 加了Tampermonkey的onclick是不是调用了函数?

javascript - 如何重置按下重置按钮时 jsp 页面上显示的验证错误

javascript - Jquery,无法更新以前创建的属性

javascript - 如何将数据传递到 sails 和 node.js 中的 ejs 文件?

rest - Java EE Servlet 和 REST 路径冲突

jsp - 使用 Arraylist 生成 Struts2 动态超链接

html - 在 response.sendRedirect() 中传递参数 - JSP

java - 如何检查我是否从同一页面到达了一个页面。另一页