基本JavaScript事件

w6mmgewl  于 2023-01-19  发布在  Java
关注(0)|答案(3)|浏览(103)

我是JavaScript新手,下面是我的代码:

<script>
function text_input_type(type)
{
if(type=='list'){
document.getElementById("note_input").innerHTML="<input type=\"text\" name=\"body\">";
}
else{
document.getElementById("note_input").innerHTML="<textarea id=\"note_input\" name=\"body\" cols=\"27\" rows=\"5\"></textarea>";
}
}

</script>

 <textarea id="note_input" name="body" cols="27" rows="5"></textarea>
 <input type="radio" name="type" value="text" onclick=text_input_type('list') />
 <input type="radio" name="type" value="list" onclick=text_input_type('text') />

我希望它能根据你按下的单选按钮从文本区域改变为输入文本类型。问题是它不是把输入从文本框改变为更小的文本输入,而是只打印框内的代码。

iezvtpos

iezvtpos1#

希望这能帮助你解决你的问题。

<script>
    function text_input_type(type)
    {
    if(type=='list'){
    document.getElementById("note_input").innerHTML="<input type=\"text\" id=\"note_input1\" name=\"body\">";
    }
    else{
    document.getElementById("note_input").innerHTML="<textarea id=\"note_input1\" name=\"body\" cols=\"27\" rows=\"5\"></textarea>";
    }
    }

    </script>

     <div id="note_input"><textarea id="note_input1" name="body" cols="27" rows="5"></textarea></div>
     <input type="radio" name="type" value="text" onclick=text_input_type('list') />
     <input type="radio" name="type" value="list" onclick=text_input_type('text') />

试试这个代码,你会得到你想要的。

whitzsjs

whitzsjs2#

您的代码是正确的,只有一处小的更改。

<html>
<body>
<input type="radio" name="type" value="text" onclick="text_input_type('list');" />
<input type="radio" name="type" value="list" onclick="text_input_type('text');" />
<div id="note_input">
</body>
</html>

应该没问题

rkttyhzu

rkttyhzu3#

将单击处理程序与Javascript绑定太内联Javascript实际上并不必要:

var elems = [].slice.call( document.getElementsByTagName("input") );
elems.forEach( function( elem ){
    elem.onclick = function(){
        var type = this.value;
        if( type === 'list' ){
            alert("type is list");
        } else {
            alert("type is not list");
        }
    };
});

Example.
我知道这可能有点复杂。我们所做的只是给页面上的每个input标记附加一个click函数。我们将单击输入的value设置为type变量,并检查该变量是否等于字符串list。如果是,则启动if中的代码。如果不是,我们在else中启动代码。
本质上,这样做是为了让你更容易,你只需要把这段代码放到你的JS文件中,你就不必担心给元素本身赋值onclick(看起来你是为其中的两个元素赋值的)。
但是,如果在onclick周围加上引号,代码将正常工作,如下所示:

onclick="text_input_type('list');"

相关问题