Javascript 使用HTML实体设置元素值
在使用HTML实体时,我在尝试设置输入字段的值时遇到了一个问题,因为它们的字面意思是Javascript 使用HTML实体设置元素值,javascript,html,input,html-entities,Javascript,Html,Input,Html Entities,在使用HTML实体时,我在尝试设置输入字段的值时遇到了一个问题,因为它们的字面意思是“,而不是” 以下是我正在使用的代码: document.getElementById('inputSurname').setAttribute('value', 'test"""'); 其中输出是test”“”,尽管我希望输出是test”“” 它看起来不像是双重编码问题,因为在源代码中,我看到它的方式与我在这里设置它的方式相同 我知道我可以从它的HTML实
“
,而不是”
以下是我正在使用的代码:
document.getElementById('inputSurname').setAttribute('value', 'test"""');
其中输出是test”“”
,尽管我希望输出是test”“”
它看起来不像是双重编码问题,因为在源代码中,我看到它的方式与我在这里设置它的方式相同
我知道我可以从它的HTML实体格式中解码该值,尽管为了安全起见,这是我想要避免的
任何帮助都将不胜感激:)试试以下方法:
document.getElementById('inputSurname').value = 'test"""';
或者,如果您想保留“:
function myFunction() {
document.getElementById('myText').value = replaceQuot('test"""');
}
function replaceQuot(string){
return string.replace('"', '""');
}
试试这个:
document.getElementById('inputSurname').value = 'test"""';
或者,如果您想保留“:
function myFunction() {
document.getElementById('myText').value = replaceQuot('test"""');
}
function replaceQuot(string){
return string.replace('"', '""');
}
您可以将新值写为
“test”“”
但是,对于其他字符,我将让您参考以下答案:您可以将新值写为
'test”“”
但是,对于其他字符,我将让您参考以下答案:或者您可以使用转义字符
document.getElementById(“InputName”).setAttribute(“value”,“test\”)代码>或者您可以使用转义字符
document.getElementById(“InputName”).setAttribute(“value”,“test\”)代码>表单字段中不能包含HTML,只能包含文本。这也是为什么不能通过值将输入值设置为粗体的原因,只有CSSY不能在表单字段中使用HTML,只有文本。这也是为什么不能通过值将输入值设置为粗体的原因,只是css问题在于我将值存储为“
,因为这是用户输入,所以我不想解码HTML实体。从您的回答开始,我做了一些调整,现在就可以开始工作了。我已经使用了我正在使用的字符串,并用\“
替换了”
,以避免用户输入的任何问题,现在在输入字段中这看起来很正常-因此我将继续并将您的答案标记为引导我解决此问题的最佳解决方案:)问题是我将值存储为“
,因为这是用户输入,所以我不想解码HTML实体。从你的回答开始,我做了一些调整,现在就开始工作了。我已经使用了我正在使用的字符串,并用\“
替换了”
,以避免用户输入的任何问题,现在在输入字段中这看起来很正常-因此我将继续并将您的答案标记为引导我解决此问题的最佳解决方案:)