错误:我的变量为null

时间:2011-03-21 14:15:03

标签: javascript

我的简单javascript代码中有错误。

HTML

<input type="text" name="txt" id="txt" value="Hello" />

的JavaScript

<script type="text/javascript">
 var txt = document.getElementById('txt').value;
 var txt2 = (null == document.getElementById('txt2').value)? "" : document.getElementById('txt2').value;
 alert(txt2);
</script>

我知道名为txt2的元素不存在,但我希望如果元素不存在,变量txt2将被赋予默认值

5 个答案:

答案 0 :(得分:2)

var txt2 = document.getElementById('txt2') ? document.getElementById('txt2').value : "";

答案 1 :(得分:1)

您将null与txt2的值进行比较,该值不存在。这可能有用......

<script type="text/javascript">
  var txt = document.getElementById('txt').value; 
  var txt2 = (null == document.getElementById('txt2')) ? "" : document.getElementById('txt2').value;
  alert(txt2);
</script>

答案 2 :(得分:1)

您只需要检查document.getElementById()返回的值的truthiness

var txt = document.getElementById('txt').value,
    txt2_element = document.getElementById('txt2'),
    txt2 = txt2_element ? '' : txt2_element.value;

alert(txt2);

答案 3 :(得分:1)

你可以试试这个:

var txt2Element = document.getElementById('txt2');
var txt2 = (txt2Element != null) ? txt2Element.value : '';

答案 4 :(得分:0)

不要检查值是否为null,而只检查元素是否为空:

var txt2 = ( document.getElementById('txt2') === null )? "" : document.getElementById('txt2').value;