2011-12-29 27 views
0

我是javascript新手。這裏是我的代碼基本的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') /> 

我想它,以便取決於哪個單選按鈕,按下它從一個textarea的輸入文本類型的變化。問題不在於將輸入從文本框更改爲較小的文本輸入,而是將框中的代碼打印出來。

+0

您面臨的問題是什麼? – AmGates 2011-12-29 08:40:42

+0

事件不得發射。錯過了引號,同時將功能分配給DOM中的事件 – Anand 2011-12-29 08:44:23

+0

對不起,我忘了一部分。我添加了它。 – 2011-12-29 08:45:57

回答

1

希望這有助於您解決問題。

<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') /> 

試試這個代碼,你會得到你想要的東西。

0

你的代碼是正確的,除了一個小的改變。

<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> 

應該正常工作

0

綁定單擊處理用了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

我知道這可能有點複雜。我們只是在頁面上的每個輸入標籤上附加一個點擊功能。我們將點擊輸入的value設置爲type變量,並檢查該變量是否等於字符串list。如果是,那麼我們在if中激發代碼。如果不是,我們在else中激發代碼。

基本上這樣做是爲了讓你更容易。你只需將這段代碼放到你的JS文件中,你不必擔心在元素本身上分配onclick(而且看起來你正在爲它們中的兩個做它)。

然而,如果你的周圍有onclick報價您的代碼將正常工作,就像這樣:

onclick="text_input_type('list');"