在前端页面中,''
,""
,\t
,\\
等输入可以在代码中正常传输,显示时也可以正常显示,但是在手动输入到页面代码中进行显示时则会出现问题。
<input type="text" class="nickname" value="我是双斜线\\"> <-- 我是双斜线\\ -->
<input type="text" class="nickname" value="我是双引号"""> <-- 我是双引号 -->
上面的代码,在第一行中可以显示出\\
但是在第二行中,则无法显示出''
。
<input type="text" id= "nickname1" value = "" />
<input type="button" id= "button" value = "点一下呗" onclick="synchro();" />
<input type="text" id= "nickname2" value="" />
<script>
function synchro() {
document.getElementById("nickname2").value = document.getElementById("nickname1").value;
}
</script>
上面的代码中,在网页中的第一个输入框中输入""
等内容依然可以在第二个输入框中显示出正确的内容。
分析原因,应该是js以及HTML内部实现中已经考虑到了此种情况,将转义字符进行编码,显示时又解码,使得正常显示,但是我们的代码处理时一般都是正常显示的字符,并没有进行编码,因此无法显示。
待续 ...