首页 > 解决方案 > 无法使我的 Javascript 代码工作以禁用加载页面上的输入框

问题描述

我在HTML文件中有一个带有下拉列表的表单,该表单在选择某个值时会禁用输入框。它工作得很好,但是当用户单击表单的提交按钮时,它会在完成一些计算后刷新页面并启用输入框。我希望它保持禁用状态。我设法存储了下拉列表的值,但不能为我的输入框做同样的事情。我对 JS 的了解几乎为零,但我想出了以下脚本,我认为它应该在重新加载页面时完成这项工作,但事实并非如此。你能告诉我下面的代码有什么问题吗?谢谢!

  <script type="text/javascript">
    $(document).ready(function() {
      var ComboboxType = document.getElementById('Type').value;
      var InputToDisable = document.getElementById("MyInput");

      if (ComboboxType.value == 'Some Value') {
          InputToDisable.disabled = true;
      }
    });

  </script>

标签: javascripthtml

解决方案


您甚至可以在没有 jQuery 的情况下执行此操作,请参见下面的示例。

基本上,您使用document.getElementById. 然后,为了安全起见,我检查它是否存在。比,只需禁用它。

window.onload = function(e) {
  var input = document.getElementById("input");
  if(input) {
    input.disabled = true;
  }
}
<input name="foo" id="input" placeholder="disabled" />


推荐阅读