簡體   English   中英

Javascript 將變量傳遞給 onclick 不起作用

[英]Javascript Passing variable to an onclick doesn't work

我正在嘗試使用 Javascript 通過 HTML 生成將變量傳遞給另一個函數,但它沒有通過。 這是我的代碼:

var wer_people_btn1 = document.createElement("span");
wer_people_btn1.setAttribute('onclick', 'SendData(' + user.ID + " ANDINFO " + susData + ')');

function SendData(reply) {
}

用戶 ID 包含“3323”

susData 包含“< DATA > (info_user)”

我得到的錯誤:

參數列表后未捕獲的 SyntaxError: missing )

我認為 <> 括號在這里造成了麻煩。 如何將這些作為字符串傳遞給我的函數?

因為無論你發送什么,數據都必須是一個字符串。 所以字符串必須在引號'"但它不應該沖突。所以使用 Javascript 的單引號和雙引號,或者通過使用轉義字符\\'只嘗試使用一個

wer_people_btn1.setAttribute('onclick', "SendData('" + user.ID + " ANDINFO " + susData + "')");

如評論中所述,只能傳遞事件和元素(this)。

更好的解決方法:以上將為 SendData 創建單個字符串輸入,但您希望將其作為單獨的參數接收,然后以下一個工作"SendData(" + user.ID + ",'" + susData + "')"); 其中 SendData 的函數原型是 SendData(userId, susData) //user.ID //no quotes for user.ID since it is a number

如果您需要傳遞自定義對象,請查看這個SO 1st answer ,這是我所知道的唯一可能的方法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM