我的VF页面出现了javascript问题,所以我在这里发布了这个问题。
这是我的代码:
<html>
<input id="xyz" value=" "/>
<script>
alert( document.getElementById('xyz').value);
var x = document.getElementById('xyz').value;
if( x == ' ' )
alert(1)
else
alert(2);
</script>
</html>
输入字段xyz的值为
我正在检查javascript中的值,但if条件永远不会计算为true。可能是什么问题呢? jsfiddle
答案 0 :(得分:3)
静态String.fromCharCode()
方法返回使用指定的Unicode值序列创建的字符串。
对于不间断的空间,您可以使用String.fromCharCode(160)
if( x ==String.fromCharCode(160))
alert(1)
else
alert(2);
DEMO: http://jsfiddle.net/36eyp/
参考:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/fromCharCode
HTML:
<span id="xyz" > </span>
使用Javascript:
alert( document.getElementById('xyz').innerHTML);
var x = document.getElementById('xyz').innerHTML;
if( x == ' ' )
alert(1)
else
alert(2);
http://www.adamkoch.com/2009/07/25/white-space-and-character-160/
答案 1 :(得分:1)
使用
HTML实体的\u00a0
的UNICODE表示形式:
if (x == "\u00a0")
alert(1);
答案 2 :(得分:0)
不会在函数中获得:
var x = document.getElementById('xyz').value;
if( x == '\xa0' ){
alert(1)
}else{
alert(2);
}
答案 3 :(得分:0)
您也可以使用正则表达式。可能不是最好的解决方案,但它确实有效。
alert( document.getElementById('xyz').value)
var x = document.getElementById('xyz').value
if(/^\s$/.test(x))
alert(1)
else
alert(2)
请参阅this fiddle
答案 4 :(得分:-1)
是用于表示不间断空间的实体。它本质上是一个标准空间,主要区别在于浏览器不应该在
占用的点处中断(或换行)一行文本。