[英]Javascript escape double quotes twice
我在嘗試正確顯示包含雙引號(“)的文本input
字段的value
時遇到問題。
這是代碼:
<script>
var locked;
function addHTML(html,id,replace){
if(locked!=false){
if(replace==true) document.getElementById(id).innerHTML = html;
else document.getElementById(id).innerHTML = document.getElementById(id).innerHTML + html;
}
}
</script>
<DIV id="divvalues">
<div onclick='javascript:addHTML("<INPUT type=\"text\" id=\"inputvalues\" name=\"values\" value=\"Click on me, \"in double quotes\", click on me\" required size=53 />","divvalues",true); document.getElementById("inputvalues").focus();'>
<span>Click on me, "in double quotes", click on me</span>
</div>
</DIV>
其結果是,只有點擊了我,顯示在input
。 關於如何在value
屬性中轉義雙引號的任何想法嗎?
如果您在腳本中創建一個函數而不是在onclick中執行所有操作,則調試起來可能會更容易。
相反,我將從做這樣的事情開始:
<div onclick='yourFunction()'>
在您的Javascript中:
function yourFunction()
{
// code
}
\\“用雙引號\\”在您的輸入標簽中添加了一個“標記。它們應該是”嗎?
我發現最好的解決方案是將HTML移到onclick
屬性之外,然后將其放在Javascript var
:
<script>
var locked;
function addHTML(html,id,replace){
if(locked!=false){
if(replace==true) document.getElementById(id).innerHTML = html;
else document.getElementById(id).innerHTML = document.getElementById(id).innerHTML + html;
}
}
var divvalueshtml = '<INPUT type="text" id="inputvalues" name="values" value="Click on me, "in double quotes", click on me" required size=53 />';
</script>
<DIV id="divvalues">
<div onclick='javascript:addHTML(divvalueshtml,"divvalues",true); document.getElementById("inputvalues").focus();'>
<span>Click on me, "in double quotes", click on me</span>
</div>
</DIV>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.