【问题标题】:Auto populate one field based on another javascript根据另一个 javascript 自动填充一个字段
【发布时间】:2014-06-20 18:42:01
【问题描述】:

我对 javascript 不是很熟悉,但尝试使用用户在电子邮件字段中键入的内容填充用户名字段。也不希望用户在从电子邮件字段自动填充后能够编辑用户名字段。 'disable' 还能让 JS 工作吗?

<script type="text/javascript">
    var first = document.getElementById('email'),
    second = document.getElementById('username');

    first.onkeyup = function () { 
        second.value = first.value;
    };
</script>

我的表单有许多字段。其中一个具有“用户名”的 ID 和名称,另一个字段具有“电子邮件”的名称和 ID。为什么我不能让它工作?我的 JS 语法错了吗?

【问题讨论】:

  • 将脚本移动到页面底部。我的猜测是调用脚本时表单元素不存在。 HTML 和 JavaScript 自上而下执行
  • 您是否遇到任何错误?我怀疑您在 HTML 中将这段代码放在输入字段之前?
  • 将您的代码包装在document.onload = function(){ ... }中。
  • 代码很好(尽管您为first 声明了var 而为second 声明了var 有点奇怪)。如果您禁用输入,您仍然可以使用 javascript 访问它。检查您的控制台(通常按 f12)是否有错误消息。
  • @judgeja 注意逗号,他第二个不需要 var。

标签: javascript


【解决方案1】:

Jasonscript 指出我需要在页面底部放置脚本。移动它并且它工作。

【讨论】:

    【解决方案2】:

    在创建 html 元素之前调用 JavaScript 可能会导致您的问题。一个简单的解决方案是将你的 JS 放在页面底部。

    <html>
       <head>
       </head>
       <body>
    
          --ALL YOUR HTML HERE--
    
          <script type="text/javascript">
             var first = document.getElementById('email'),
             second = document.getElementById('username');
    
             first.onkeyup = function () { 
                second.value = first.value;
             };
          </script>
       </body>
    </html>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-11-01
      • 2010-10-06
      • 1970-01-01
      • 1970-01-01
      • 2023-01-14
      • 1970-01-01
      相关资源
      最近更新 更多