我正在尝试使用Javascript(而不是JQuery)做一些非常简单的事情。 基本上,我想使用复选框来切换textarea中的文本。因此,如果取消选中该复选框,我希望它说" Hello"在textarea。如果选中该复选框,则textarea应该说" Goodbye"。 我刚开始使用Javascript,所以任何帮助都会受到赞赏。 感谢
以下是代码:
var myswitch = document.getElementsByTagName("myonoffswitch");
var mytextarea= document.getElementsByTagName("mytextarea");
myswitch.onchange = function(){
if(this.checked){
mytextarea.value = "Hello"
}else{
mytextarea.value = "Goodbye"
}
}
答案 0 :(得分:1)
如果你的控件是一个表单,你可以做一些非常简单的事情:
<form>
<textarea name="ta"></textarea>
<input type="checkbox" onclick="
this.form.ta.value = this.checked? 'Hello':'Goodbye';
">
</form>
请注意,将change事件与复选框一起使用意味着在某些浏览器中,事件不会被分派,直到复选框失去焦点,因此最好使用click事件。
答案 1 :(得分:0)
您应该使用document.getElementById
代替getElementsByTagName
如果您已将代码包装在onload
函数中,我无法从您的代码段中说出来。在javascript运行时未在HTML中加载DOM元素的情况下,这是必需的
这是一个例子
window.onload = function () {
var myswitch = document.getElementById("myonoffswitch");
var mytextarea = document.getElementById("mytextarea");
myswitch.onchange = function () {
if (this.checked) {
mytextarea.value = "Hello";
} else {
mytextarea.value = "Goodbye";
}
}
//code here
}
这里有一个小提琴:http://jsfiddle.net/C4jVG/
答案 2 :(得分:0)
我尝试了一些东西。这应该适合你
HTML
<input type="checkbox" id="myonoffswitch">Switch</input>
<textarea id="mytextarea" cols="30" rows="10"></textarea>
的Javascript
function fillText() {
var myswitch = document.getElementById("myonoffswitch");
var mytextarea= document.getElementById("mytextarea");
myswitch.onchange = function(){
if(this.checked){
mytextarea.value = "Hello"
}else{
mytextarea.value = "Goodbye"
}
}
}
window.onload = fillText;
答案 3 :(得分:0)
尝试使用getElementsByTagName
替换代码中的getElementById
,这样可以解决您的问题。