使用javascript's addeventlistener改变点击按钮后输入文本的值
Changing value of input text after button click using javascript's addeventlistener
我试图通过使用JavaScript的按钮单击上的文本字段表单更改输入文本。我很难弄明白为什么它不工作。如有任何帮助,不胜感激。
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title> </title>
<script type="text/javascript">
function start(){
var button = document.getElementById("button");
button.addEventListener("click", buttonPressed, false);
}
function buttonPressed(){
var text = document.getElementById("textField").value;
text.value = "GMU";
}
window.addEventListener("load", start, false);
</script>
</head>
<body>
<form>
<input id="textField" type="text" value="">
<input id="button" type="button" value="Button">
</form>
</body>
</html>
问题在这里:
var text = document.getElementById("textField").value;
text.value = "GMU";
看一下上面的行。你正在获取一个元素的值并将其存储在text
中,但是你试图分配text.value
?考虑这种情况:
假设input
当前的值为"苹果"。做:
var text = document.getElementById("textField").value;
将"苹果"存储在text
中。
text.value = "GMU";
由于text
是字符串,并且您尝试访问不存在字符串的属性value
,它不起作用-您已经多次访问value
属性。
text
只保存属性值,它没有指向实际元素的value属性。因此,您需要像这样直接修改value属性:
document.getElementById("textField").value = "GMU";
之所以有效,是因为您修改了元素本身的属性,而不是将其复制到变量中。
你可以选择将元素存储到一个变量中,并执行element.value = "val"
,因为元素是一个对象,而对象有指向内存的引用,所以当你给一个对象赋值时,引用被赋值,并且它指向内存中的同一个位置。
要更改按钮单击上的输入文本,您可以在按钮上使用addEventListener
。然后,您可以在此之后更改输入字段。
var button = document.getElementById("button");
var text = document.getElementById("textField");
button.addEventListener('click', function() {
text.value = "GMU";
});
<form>
<input id="textField" type="text" value="">
<input id="button" type="button" value="Button">
</form>
相关文章:
- 点击按钮输入不起作用
- JavaScript按钮/输入/函数,字符串反转
- 如何将表格中的文本添加到使用按钮输入的文本区域
- 如何从页面中获取所有内容,包括通过按钮输入的值
- 为按钮输入键
- Chrome应用程序在Webview中的按钮/输入上添加点击事件
- 如果用户更改下拉选择,jQuery将删除单选按钮/输入选项
- 如何在选中单选按钮(输入)时触发事件
- 如何将按钮/输入保留在图像下方
- 在条件jquery上启用按钮/输入区域
- 根据选定的单选按钮输入显示/隐藏 DIV
- 点击按钮输入在 Chrome 中不起作用
- 如何使按钮(输入类型=“提交”)在单击时消失
- 按钮输入上的 CSS 取消了 jQuery 中禁用的 prop 属性
- 如何获取按钮输入以显示在文本区域
- jQuery - 从按钮组中获取活动按钮(输入类型 = “radio”)
- 如何将字符串转换为来自按钮输入的 Int
- 根据单选按钮输入将表单发送给不同的收件人
- 单选按钮输入控制客户端验证
- 多个按钮输入到自己的文本框在同一页,