簡體   English   中英

Javascript轉義雙引號兩次

[英]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, &quot;in double quotes&quot;, 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.

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