我从包含双引号的服务器返回一个值。我需要使用值填充输入标记。
我尝试过使用escape(myVariable),但是将空格转换为%20等。 我想我可以写一个if / then表示如果字段中有双引号,那么使用value ='',但如果字段中有双引号和单引号,我该怎么办?
答案 0 :(得分:13)
input.value = val.replace(/"/g, '"');
答案 1 :(得分:4)
将双引号替换为"
。
答案 2 :(得分:2)
我从中获得了一个价值 包含双引号的服务器 它
您将问题标记为“javascript”,因此我假设您通过ajax加载此服务器值。
如果已经分配了包含您的值的变量,则没有理由对任何内容进行编码。
这是一个示例脚本,它接受已经分配的变量并将其放入新的表单元素中。正如您所看到的,表单元素在同时显示单引号和双引号时完全没有问题。
<html>
<body>
<form id='myform'></form>
<script type='text/javascript'>
var myField = "James' answer is \"the best\"";
var i = document.createElement('input');
i.type = 'text';
i.name = 'testField';
i.value = myField;
document.getElementById('myform').appendChild(i);
</script>
</body>
</html>
答案 3 :(得分:0)
$("#input").val(unescape('"test " value" "'))
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.0/jquery.min.js"></script>
Test value: <input type="text" id="input" />
答案 4 :(得分:0)
最佳解决方案是使用php语言中的htmlentities:
<input value="<?php echo htmlentities($value);?>">
在所有情况下均有效:
1)单引号
示例:朱莉娅的猫
2)双引号
示例:约翰的自行车
享受并分享代码以拯救他人的生命:)