我在尝试正确显示包含双引号(“)的文本value
字段的input
时遇到问题。
以下是代码:
<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
属性中删除双引号的任何想法吗?
答案 0 :(得分:1)
如果在脚本中创建一个函数而不是在onclick中执行所有操作,则可能更容易调试。
相反,我会从做这样的事情开始:
<div onclick='yourFunction()'>
在你的Javascript中:
function yourFunction()
{
// code
}
答案 1 :(得分:0)
双引号中的\“正在为输入标记添加”标记。它们应该是“吗?
答案 2 :(得分:0)
我找到的最佳解决方案是将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>