dry9192 2018-10-08 12:05
浏览 112
已采纳

如果选中单选按钮,则更改字段的只读状态,不进行jquery

I have a form, I want to initially have some normal fields and some readonly fields. Then a radio button with two options, if it's the default option nothing changes, if they select the second then the readonly fields become editable.

I need to do this without jquery.

Here's the form

<form name="newstock" action="newstock-save.php" method="post">

<input type="radio" name="individual" value="1" checked> Fruit<br>
<input type="radio" name="individual" value="0"> Veges<br><br>

<table>
<tr>
    <td>Item name</td>
    <td><input type="text" name="item_name"></td>
</tr>
<tr>
    <td>Packing</td>
    <td><input type="text" name="packing_name" readonly></td>
</tr>
<tr>
    <td>Unit</td>
    <td><input type="text" name="packing_unit" readonly></td>
</tr>
</table>

Please assist

  • 写回答

3条回答 默认 最新

  • dongxie3681 2018-10-08 12:33
    关注

    First, add the IDs in your HTML.

    <form name="newstock" action="newstock-save.php" method="post">
    
    <input type="radio" name="individual" value="1" id="individual1" checked> Fruit<br>
    <input type="radio" name="individual" value="0" id="individual0"> Veges<br><br>
    
    <table>
    <tr>
        <td>Item name</td>
        <td><input type="text" name="item_name"></td>
    </tr>
    <tr>
        <td>Packing</td>
        <td><input type="text" name="packing_name" id="packing_name" readonly></td>
    </tr>
    <tr>
        <td>Unit</td>
        <td><input type="text" name="packing_unit" id="package_unit" readonly></td>
    </tr>
    </table>
    

    Then, get the elements with getElementById, and add EventListeners in your JS.

    const individual1  = document.getElementById("individual1"),
          individual0  = document.getElementById("individual0"),
          packing_name = document.getElementById("packing_name"),
          package_unit = document.getElementById("package_unit");
    
    individual1.addEventListener("change", function(){
      packing_name.value = '';
      package_unit.value = '';
      packing_name.readOnly = true;
      package_unit.readOnly = true;
    });
    
    individual0.addEventListener("change", function(){
      packing_name.readOnly = false;
      package_unit.readOnly = false;
    });
    

    CodePen: https://codepen.io/anon/pen/vVyVGx

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库
  • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
  • ¥15 请问怎么才能复现这样的图呀