JavaScript提示输入元素

时间:2015-08-20 23:51:58

标签: javascript html

下面的JAVASCRIPT - 下面的脚本提示用户键入他们的名字,然后将该名称存储在变量" person。"变量" x"应该是表格中的第一个元素。

<script>
    function getName()
    {
        var person = prompt("Please enter your first name", "Johnny");
        var x = getElementById('personName');
        x.value = person;
    }
</script>

下面的HTML - 表格行中的第一个元素是当用户输入其名称时应该更改的内容。但我似乎无法让元素改变它的价值。

<body onload="getName()>
    <table id="statsTable" border="1px" class="stats">
        <tr>
            <td id="personName">Person</td>
            <td>Computer</td>
            <td>Winner</td>
        </tr>
    </table>
</body>

5 个答案:

答案 0 :(得分:2)

1-您忘记在此处关闭双引号:

<body onload="getName()>

2-您忘记在任何对象上调用getElementById。您可以按如下方式修复它:

var x = document.getElementById('personName');

3-而不是值,你应该使用innerHTML:

x.innerHTML = person;

或者

x.textContent = person;

所以整个代码应该如下:

<!DOCTYPE html>
<html>
<body onload="getName()">
    <table id="statsTable" border="1px" class="stats">
        <tr>
            <td id="personName">Person</td>
            <td>Computer</td>
            <td>Winner</td>
        </tr>
    </table>
</body>
<script>
    function getName()
    {
        var person = prompt("Please enter your first name", "Johnny");
        var x = document.getElementById('personName');
        x.innerHTML = person;
    }
</script>
</html> 

答案 1 :(得分:1)

您需要将x.value = person;更改为x.innerText = person

答案 2 :(得分:0)

尝试使用

x.innerText = person;  

而不是x.value,因为该值将更改属性,而不是

的文本

答案 3 :(得分:0)

函数getName()中的最后一行有错误。将其更改为:

x.innerText = document.getElementById('personName');

答案 4 :(得分:0)

.value用于设置输入元素的值。要设置<td>的内容,请使用.textContent

此外,获取元素的函数名称为document.getElementById()

&#13;
&#13;
function getName() {
  var person = prompt("Please enter your first name", "Johnny");
  var x = document.getElementById('personName');
  x.textContent = person;
}

getName();
&#13;
<table id="statsTable" border="1px" class="stats">
  <tr>
    <td id="personName">Person</td>
    <td>Computer</td>
    <td>Winner</td>
  </tr>
</table>
&#13;
&#13;
&#13;