Javascript 不启用 html 表单

标签 javascript html

我已经很久没有在 JS 中工作了,我正在尝试在选择某些选定选项时使用 select 启用另一个 html 表单。这是我的脚本:

<script>
function Activar() {


var e = document.getElementById('perm_tipo');
var strUser = e.options[e.selectedIndex].text;

    if(strUser=="familiar"){

    document.getElementById('paciente').disabled = false;
    }else{

    document.getElementById('paciente').disabled = true;
    }
}

我在表单中选择了那些 html,我认为这可能是问题所在,但在谷歌上进行检查似乎不应该成为问题。

这是我的 html 代码:

<form id="registro" action="admin_panel.php" method="post">  
<table border="0">
      <tr>
      <td>Tipo de permiso</td>
      <td>
            <select name="perm_tipo"  onchange="Activar()">
            <?php
                permiso();
                ?>
            </select>

        <br>
      </td>
       <td>Paciente</td>
      <td>
            <select id="paciente" disabled>
            <?php
                pacientes();
                ?>
            </select>

      </td>
    </tr>
     <tr>
      <td></td>
      <td><input type="submit"  value="Registrar usuario"/><br>
      </td>
    </tr>
</table>

php 函数只是用一些数据库中的数据填充选择选项,没什么大不了的,它们可以工作,没问题。

最佳答案

由于您使用的是 getElementById ,您应该在“select”元素中使用“id”而不是“name”。

<select id="perm_tipo"  onchange="Activar()">
....
</select>

更多重构:您可以在事件监听器中传递 DOM 元素本身,而不必执行 var e = document.getElementById('perm_tipo');首先

<select name="perm_tipo"  onchange="Activar(this)">
 ....
</select>

<script>
  function Activar(e) {
   var strUser = e.options[e.selectedIndex].text;

   if(strUser=="familiar")
     document.getElementById('paciente').disabled = false;
   else
     document.getElementById('paciente').disabled = true;
  }
</script>

关于Javascript 不启用 html 表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30242893/

相关文章:

html - perl 不在命令提示符下打印特殊字符

javascript - Bootstrap 网格系统(行澄清)

javascript - 在 jquery ajax 中访问变量

javascript - 第二次调用主干时,回调中丢失上下文

javascript - 为什么当我按 Enter 键添加评论时,我的页面重定向回登录页面

html - 对将内容与图像对齐感到困惑

javascript - 如何使带有图像的div消失在Menu-Item后面?

javascript - 修复无效 JSON 的最有效方法

javascript - 如何使用 ajax 上传文本字段和文件?

html - 如何防止垂直降压