2010-09-05 40 views
0

我想要做的是當我點擊一個複選框時,它會自動出現在頁面的某個部分。我試圖得到一個複選框的的onclick = 'displayit()'/ oncchange = 'displayit()'其中displayit()是:document.obj.write()..有可能嗎?

function displayit(obj){ 
document.divnam.write(obj.value); 
} 

divnam是分割其中的名稱我想文本appear..isnt這可能嗎?我還試圖消除divnam,並把函數本身在分裂

<div name='divnam' ><script> 
function displayit(obj){document.write(obj.value);} 
</script></div> 

回答

0

在把一個元素而不是name,以便您可以輕鬆訪問它。您可以使用innerHTML屬性設置元素的內容:

function displayit(obj){ 
    document.getElementById('divnam').innerHTML = obj.value; 
} 

把元素中的腳本,如果你運行的腳本,而加載頁面時只會工作。在元素中聲明一個函數沒有任何作用,聲明函數的頁面在哪裏並不重要。

+0

OK耶非常感謝:)我忘記了innerHTML。那麼我想改變元素的內容..我應該使用jquery嗎? $(二)? – kapitanluffy 2010-09-05 13:34:25

+0

如何追加另一個文本?比如它已經顯示了值,然後當我點擊另一個複選框時,我想將值附加到它上面......比如創建一個列表或其他東西。 – kapitanluffy 2010-09-05 13:41:22

+0

@kapitanluffy:如果你想添加幾個文本到一個元素,你應該添加它們作爲子元素,例如'span'元素。使用'document.createElement('SPAN')'創建一個元素,將該文本放入該元素中,並使用'appendChild'方法將其添加到'div'中。 – Guffa 2010-09-05 13:48:12

0

document.write僅在頁面初始加載時有效。你想現在要做的就是把一些數據在頁面的某些部分,用說一個id="target" DIV:

<div id="target"></div> 

和JavaScript部分:

<script> 
function displayit(obj){ 
    document.getElementById('target').innerHTML=obj.value; 
} 
</script>