我是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') />
我希望它能根据你按下的单选按钮从文本区域改变为输入文本类型。问题是它不是把输入从文本框改变为更小的文本输入,而是只打印框内的代码。
3条答案
按热度按时间iezvtpos1#
希望这能帮助你解决你的问题。
试试这个代码,你会得到你想要的。
whitzsjs2#
您的代码是正确的,只有一处小的更改。
应该没问题
rkttyhzu3#
将单击处理程序与Javascript绑定太内联Javascript实际上并不必要:
Example.
我知道这可能有点复杂。我们所做的只是给页面上的每个input标记附加一个click函数。我们将单击输入的
value
设置为type
变量,并检查该变量是否等于字符串list
。如果是,则启动if
中的代码。如果不是,我们在else
中启动代码。本质上,这样做是为了让你更容易,你只需要把这段代码放到你的JS文件中,你就不必担心给元素本身赋值
onclick
(看起来你是为其中的两个元素赋值的)。但是,如果在
onclick
周围加上引号,代码将正常工作,如下所示: