第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

通過(guò)onclick將帶有單引號(hào)的字符串傳遞給javascript函數(shù)

通過(guò)onclick將帶有單引號(hào)的字符串傳遞給javascript函數(shù)

PHP
拉風(fēng)的咖菲貓 2022-07-09 16:46:15
我有一個(gè)帶有 onclick 屬性的按鈕,它調(diào)用一個(gè)名為appr. 傳遞給appr每個(gè)按鈕的參數(shù)不同,由 PHP 生成:return "<button type='button' onclick='appr(".$id.",\"".$qr['name']."\");'>Approve</button>";這導(dǎo)致了這個(gè) HTML:<button type='button' onclick='appr(3,"Dave O'Shea");'>Approve</button>Javascript 函數(shù)如下所示。function appr(id,name){  // some code here...  alert(name);}代碼工作正常,除了帶有單引號(hào)的字符串,它失敗了。任何想法為什么?
查看完整描述

2 回答

?
qq_花開花謝_0

TA貢獻(xiàn)1835條經(jīng)驗(yàn) 獲得超7個(gè)贊

在您的代碼中,單引號(hào)表示屬性邊界:


onclick='appr(

        ^

所以后面的第一個(gè)'將完成屬性值。


您可以通過(guò)將's 替換為導(dǎo)致引號(hào)的 HTML 實(shí)體來(lái)修復(fù)它,以便生成的 HTML 出現(xiàn)在


<button type='button' onclick='appr(3,"Dave O&quot;Shea");'>Approve</button>

<button onclick='alert(&quot;foo&quot)'>Test</button>


但是最好完全避免內(nèi)聯(lián)處理程序并使用 Javascript 添加偵聽器。例如,對(duì)于每個(gè)按鈕,將包含關(guān)聯(lián)的id和的對(duì)象推name送到一個(gè)數(shù)組,并以某種方式將該數(shù)組包含在對(duì)客戶端的響應(yīng)中 - 例如,通過(guò)將 JSON 放入腳本標(biāo)簽并選擇/解析該腳本標(biāo)簽內(nèi)容。然后遍歷數(shù)組并為每個(gè)按鈕添加一個(gè)監(jiān)聽器。就像是:


// retrieve array however you want

const arr = [

  { id: 3, name: "Dave O'Shea" },

  // more objects

];

const buttons = document.querySelectorAll('button');

for (const [i, { id, name }] of arr.entries()) {

  button[i].addEventListener('click', () => {

    appr(id, name);

  });

}

或任何其他類似的東西。只需避免將處理程序作為元素屬性放入 HTML 標(biāo)記中。


查看完整回答
反對(duì) 回復(fù) 2022-07-09
?
MYYA

TA貢獻(xiàn)1868條經(jīng)驗(yàn) 獲得超4個(gè)贊

最好的解決方案是對(duì)屬性中的動(dòng)態(tài)數(shù)據(jù)使用模板文字和轉(zhuǎn)義函數(shù)。像下面的例子


let str = escape("Dave O'Shea")

return `<a href="javascript:void(0);" onclick="myFunc(str)"></a>`

然后在函數(shù)中對(duì)字符串進(jìn)行轉(zhuǎn)義


function myFunc(str){

  str = unescape(str)

}


查看完整回答
反對(duì) 回復(fù) 2022-07-09
  • 2 回答
  • 0 關(guān)注
  • 203 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)