复选框使用Javascript将文本插入textarea

时间:2014-07-24 02:41:22

标签: javascript html text checkbox textarea

我正在尝试使用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"
    }
}

4 个答案:

答案 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,这样可以解决您的问题。