<%
String errorMessage = (String) request.getAttribute("errorMessage");
%>
<input type="hidden" Id="errorMessage" value="<%=errorMessage%>" />
function alertErrorMessage(){
var em = $("#errorMessage").val();
if(em != "null"){
alert(em);
//alert(em.length);
$("#errorMessage").val("");
}
}
重点是 if(em != "null"){这句。如果写成if(em !="")或者if(em)或者if(em != null),都不行,照样弹出null。
经过系统的思考,发现弹出的null,不是null值,而是null字符串。
如果 <input type="hidden" Id="errorMessage" value="<%=errorMessage%>" />中的java脚本
是JSTL表达式${errorMessage},就不会出现这种情况。因为java脚本中的errorMessage如果为空,则为null值。
到了js那里,获取到这个input的value的时候,就是字符串null了。
这是个在js中把字符串null当成null值得典型问题。
本文来自优快云博客,转载请标明出处:http://blog.youkuaiyun.com/wr41211336/archive/2009/10/21/4709626.aspx