Javascript:将用户输入分配为变量

标签 javascript variables user-input

我刚刚学习 HTML、CSS 和 Javascript,很难掌握 JS。我现在已经花了 6 个小时来解决这个简单的问题。我检查了很多关于 SO、W3 的帖子,重新阅读了 Jon Duckett 书中的相关章节,并在代码中尝试了我能想到的每种组合。

我需要做的是从输入字段中获取用户名,并通过函数运行它以某种方式更改它。我看过其他人的帖子有类似的问题,但还无法创建解决方案。不断发生的问题是,当我将用户输入的内容放回页面时,它使用实际的单词 name.toUpperCase() 而不是我赋予变量 的值名称。我尝试在其自己的语句中将名称转换为大写,然后为其分配一个变量,但这也不起作用。看来我的 js 从来没有给“name”一个值。

JS:

var name = document.getElementById('nameEntry');
var compliment = document.getElementById('compliment');
var input = document.getElementById('submitjs');

input.onclick = transformName;

function transformName () {
    var elcompliment = document.getElementById('compliment');
    elcompliment.textContent = 'name.toUpperCase( )' + ' YOU ROCK!';
};

HTML:

<div class="jsform">
    <h2> Enter your name and see it change!</h2>
    <input type="text" name="nameEntry" id="nameEntry" />
    <input type="submit" name="submitjs" value="submit" id="submitjs"/>

   <div>
    <p id="compliment">Great Job!</p>
   </div>

</div>

最佳答案

由于您使用元素的 id 检索输入值,因此不需要表单。

function transformName () {
  var name = document.getElementById('nameEntry').value;
  var compliment = document.getElementById('compliment');

    compliment.innerHTML  = name.toUpperCase( ) + ' YOU ROCK!';
};
<div class="jsform">
    <h2> Enter your name and see it change!</h2>
    <input type="text" name="nameEntry" id="nameEntry" />
    <input type="button" onclick="transformName()" value="Transform me"/>

   <div>
    <p id="compliment">Great Job!</p>
   </div>

</div>

关于Javascript:将用户输入分配为变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40073159/

相关文章:

c - file->d_name 到 C 中的变量中

c - 我应该如何修复这个有趣的 getdelim/getline (动态内存分配)错误?

regex - 如何安全地使用用户输入中的正则表达式?

javascript - Node.js:拆分代码的正确方法是什么?

java - 如何从 XSLT 中的串联变量中清除噪声字符

c++ - 找出单词是否是回文的程序

python - 检查用户输入的问题(Python)

javascript - CSS(或 JS?)中的流体图像大小调整

javascript - 为什么我的变量在回调函数之外未定义?

javascript - 具有相同 ID 的 HTML 元素