javascript - 根据选择的单选/选择选项禁用/启用文本框 Javascript

标签 javascript html

如果单选按钮具有特定值,我试图禁用 HTML 中的输入字段。我为此使用了 Javascript 函数。

代码片段 1:(HTML 单选按钮)

<div class="element-radio">
    <label class="title">Children</label>
    <div class="column column2">
        <label>
            <input type="radio" name="children" value="Yes" onChange="findselected()"/>
            <span>Yes</span>
        </label>
    </div>
    <span class="clearfix"></span>

    <div class="column column2">
        <label>
            <input type="radio" name="children" value="No" checked="checked" onChange="findselected()"/>
            <span>No</span>
        </label>
    </div>
    <span class="clearfix"></span>
</div>

<div class="element-number">
    <label class="title">No of children</label>
    <div class="item-cont">
        <input class="large" type="text" min="0" max="100" name="no_children" placeholder="If YES, Number of Children?" value="<?php echo $no_children?>" />
        <span class="icon-place"></span>
    </div>
</div>

代码片段 2:(JavaScript 函数)

<script type="text/javascript">
function findselected() { 
   if (document.form.children.value == 'No') {
      document.form.no_children.disabled=true;
//      return false;  // not sure this line is needed
   } else {
      document.form.no_children.disabled=false;
//      return false;  // not sure this line is needed
   }
} 
</script>

这不符合要求的方式。有没有更好的方法来做同样的事情?我对 Javascript 还很陌生,所以我无法实现复杂的代码。

最佳答案

使用以下代码更新您的脚本:

function findselected() { 
    var result = document.querySelector('input[name="children"]:checked').value;
    if(result=="Yes"){

        document.getElementById("inputtext").setAttribute('disabled', true);
    }
    else{
        document.getElementById("inputtext").removeAttribute('disabled');
    }
}

并在您的输入控件中添加 id 属性作为 id="inputtext"

<input id="inputtext" class="large" type="text" min="0" max="100" name="no_children" placeholder="If YES, Number of Children?" value="<?php echo $no_children?>" />

关于javascript - 根据选择的单选/选择选项禁用/启用文本框 Javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37097087/

相关文章:

php - 显示带有每个项目的删除按钮的项目的购物车

html - 仅使用 CSS,无限时间循环播放 30 张图像,创造出燃烧的火焰效果

javascript - 如何通过调用 ajax 将 html 表单数据发送到 node.js 服务器?

jquery - 在 <optgroup> 中显示带有组标签的选定选项

javascript - 如何检测浏览器窗口是否聚焦?

javascript - 克隆对象数组但具有选定的属性

javascript - 将字符串拆分为不同的变量问题

javascript - JavaScript 中有什么方法可以深入检查对象的真值?

javascript - javascript中具有相同类名的元素

javascript - 计算样式组件的高度