为什么变量及其内容在HTML中不可见

时间:2017-11-16 14:59:46

标签: javascript html variables

好的,我已经尝试了多次迭代这个代码并且它无法正常工作,我在H3标签中看到[object Object]

这基本上是显而易见的,我只是错过了一个核心点,我一直在扫描堆栈,但似乎无法找到为什么会发生这种情况

所以我需要将从年份ID中检索到的项目显示在H3标签内,我使用警报功能作为测试,以确保正确使用年份的值并且

我试过

var age ={};
    function ageinyear() {
        age = document.getElementById("year").value;
        var agetest = age;
    }</script>


<h3 id="userWelcome"><span id="splitColorHeading">
    Welcome <script> document.write(agetest)</script>,</span> to THE SESH</h3>

没有骰子

var age;
    function ageinyear() {
        age = document.getElementById("year").value;
    }</script>


<h3 id="userWelcome"><span id="splitColorHeading">
    Welcome <script> document.write(age)</script>,</span> to THE SESH</h3>

编辑:我在函数和外部声明了两个变量,都试图使它们全局化 弯曲我的微小脑细胞可能是由于没有回复声明,如果加上一个我相信它适合的地方,仍然没有运气

仍然没有,

任何人都可以帮助初学者展示和展示示例或向我展示我的代码我缺少的内容以及解释原因

非常感谢!

更多代码:

<div id="overlay">
<div id="text">Are you over 18 years old?</div>
<div id="off"><button onclick="off(), ageinyear()">Submit</button></div>
<div id="test"><form>
    <label>
        Name
        <input id="name" name="lblname" type="text" />
    </label>
    <label>
        Age
        <input id="year" name="lblyear" type="text" />
    </label>
</form>
</div>

4 个答案:

答案 0 :(得分:1)

考虑您在此处定义的事件序列:

<script>
var age;
function ageinyear() {
    age = document.getElementById("year").value;
}
</script>

<script>document.write(age)</script>

定义函数不会调用函数。所以基本上上面的内容与此相同:

<script>
var age;
</script>

<script>document.write(age)</script>

没有值写入页面,因为该变量中没有值。它被宣布,但它未定义。

而不是尝试立即输出到页面(例如,在用户设置值之前),输出到函数中的页面,该页面被调用用户设置值。像这样:

<script>
var age;
function ageinyear() {
    age = document.getElementById("year").value;
    document.getElementById("yearOutput").textContent = age;
}
</script>

<span id="yearOutput"></span>

答案 1 :(得分:0)

通过在变量age前加var关键字作为前缀,变量仅在包含它的<script>元素的范围内声明。要获得必须工作的内容,您可以通过删除var关键字在全局范围内声明变量。

<script>
    age ={}; // declare the variable in the global scope - can access it anywhere
    function ageinyear() {
        age = document.getElementById("year").value;
    }
</script>


<h3 id="userWelcome"><span id="splitColorHeading">
    Welcome <script> document.write(age)</script>,</span> to THE SESH
</h3>

答案 2 :(得分:0)

在下面的代码片段中,您可以从HTML中获取输入,您可以根据用例对其进行一些计算,然后修改HTML元素。

&#13;
&#13;
{{1}}
&#13;
&#13;
&#13;

答案 3 :(得分:-1)

当您编写document.write(age)时,您正试图直接打印 object 。年龄变量名为age.toString(),它返回[object object]。 使用

document.write(JSON.stringify(age))