2011-10-30 93 views
0

我試圖從HTML傳遞一個值到一個函數,但是當我這樣做時我得到一個錯誤 - 引用錯誤:找不到變量:「var value」。下面的代碼我刪除空格,並用下劃線替換它們,然後嘗試將它傳遞給一個名爲onToDate的函數。將值傳遞給功能從html

var theFunction2 = theFunction.replace(/ /g,"_"); 

$('#inserted').append('<div id="'+theFunction2+'"><li onclick="onToDate('+theFunction2+')"><img width="30px" height="25px" src="style/soccer.png"><div id="popupContactClose2">'+counted+'</div></img>'+ rs.rows.item(0)['playing']+'</li>'); 

onToDate根本沒有提醒傳遞給它的值:

function onToDate(hello){   

alert(''+hello+''); 
console.log(''+hello+''); 
} 

這是我的錯誤。我真的不知道我以前使用過這個功能,它工作正常。

任何幫助將是巨大的,

感謝

+1

Li元素? IMG元素內的DIV元素?這是無效的! –

回答

4
onclick="onToDate('+theFunction2+'); 

正在變成這樣的:

onToDate(some_thing); 

因此,在上述情況下,some_thing是一個變量,它是undefined,意義這是一個引用錯誤。

所以,

onclick="onToDate(\"'+theFunction2+'\"); 

應該修復它

+0

優秀,現在都好 – mao

1

首先@IAbstractDownvoteFactor的是正確的。你應該修復onclick定義。

如果此代碼在$(document).ready()區塊中運行,那麼您的onToDate函數在該範圍內無法訪問。您的全球範圍內的click事件調用。你應該像這樣定義它;

window.onToDate = function(hello){ 
    alert(hello); 
} 

,也不需要那些單引號...

一個DIV元素裏面