[英]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.