繁体   English   中英

Javascript不会将信息从html传递到函数中

[英]Javascript will not pass information into function from html

好吧Javascript非常新。 尝试通过使用外部javascript文件更改按钮上的文本来学习代码。 但我甚至无法通过javascript来读取外部的按钮值,在Chrome的调试工具中我看到我的按钮值是btn =“”。 它读取按钮对象但无法读取其属性。

<html>
<head>

    <title> Test  </title>
    <script type="text/javascript" src="Gle.js"></script>
</head>

<body>
    <div><canvas id="Gle" width="800" height="600"></canvas>
</div>
    <div>
        <h2>Enter the mass and coordinates</h2> 
        <input id="txtbox" type="text" /><br/>
        <button id="btn" onclick="change()">Add</button>

    </div>


    </body>
</html>

Gle.js

"use strict";


function change() {
    var x = document.getElementById("btn").value;
    var elem = document.getElementById("btn");
    var txt = document.getElementById("txtbox");
    txt.text = elem.value;
    elem.value = "Ok";
    } 

当我调试x值时它是“”,我的屏幕上没有任何变化。 我使用括号IDE。

x为空,因为'#btn'没有指定'value'属性。 “添加”字符串位于其内部HTML(或文本)中,

alert(document.getElementById("btn").innerText);

你可以在事件范围中this进行索引,它是'#btn'this.innerText

另一种方法是获取'#btn'子节点值,这是跨浏览器的值。

alert(this.childNodes[0].nodeValue);

这会警告元素内部指定的第一个文本。

我期待按钮标题“添加”出现?

该按钮没有value属性,因此其value属性为空字符串。

“添加”是按钮元素内的文本节点的内容。

var x = document.getElementById("btn").firstChild.data;

您可以尝试为button指定value属性

<button id="btn" onclick="change()" value="Add">Add</button>

如果要根据输入框中的内容更新按钮文本,代码可能如下所示:

<button id="myButton">Change Me</button>
<input id="myInput" type="text" value="To This"/>

在JS中:

document.getElementById("myButton").click(function(){
    var inputValue = document.getElementById("myInput").value
    document.getElementById("myButton").innerText = inputValue
    // You could also use 'this' to refer to document.getElementById("myButton"):
    // this.innerText = inputValue
})

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM