日期:2014-05-18  浏览次数:21143 次

如何判断文本框为空
Q:我在一个表单里放置了两个文本框text1,text2,然后用request.getParameter()分别得到两个文本框里输入的文字,然后用两个if判断这两个文本框是否被填或者提交的是空字符
判断的代码:
if(srcbus!=null||srcbus.equals("")) //srcbus是存储text1提交的字符串
{....... }
if(srcstop!=null||srcstop.equals("")) //srcstop是存储text1提交的字符串
{....... }
问题来了,不管text1和text2是否为空,两个if后面的{....}里内容照样被执行,这是为什么呢?

------解决方案--------------------
if(srcstop!=null ¦ ¦srcstop.equals("")) 
srcstop!=null 不为空或者srcstop.equals("") 为“”
当然会怎么都执行了
改为
if(srcstop!=null ¦ ¦ !srcstop.equals(""))那么不为空是才执行
------解决方案--------------------
srcbus=request.getParameter(text1的名称)
if(srcbus!=null&&!srcbus.equals("")) 
{
//
}
------解决方案--------------------
根本不需要验证NULL
只要if(!srcstop.equals("") || brvbarsrcbus.equals(""))
就可以了
不过建议在javaScript中验证。
------解决方案--------------------
当然不行拉,呵呵
if(srcbus!=null ¦ ¦srcbus.equals("")) //srcbus是存储text1提交的字符串 
{....... } 
if(srcstop!=null ¦ ¦srcstop.equals("")) //srcstop是存储text1提交的字符串 
{....... } 

这里你是不是搞错了,就应该是想楼上的一样这个 srcbus.equals("")应该改为 否定的
 !srcbus.equals("") 
才是啊,而且也不应该是用 或 来连接



这个改为
if(srcbus!=null && !srcbus.equals("")) //srcbus是存储text1提交的字符串 
{....... } 
if(srcstop!=null && !srcstop.equals("")) //srcstop是存储text1提交的字符串 
{....... } 

先假设text1是为null,用 或 语句时,既然为 null就不为空,条件成立,就执行了(这里的空是指空串,和null不一样)

------解决方案--------------------
怕你不会,给你把JavaScript写出来
<form name="addForm" action="SERVLET名" method="post" onsubmit="chkNull()">
<input name="text1" type="text" />
<input name="text1" type="text" />
</form>
<script language="JavaScript" type="text/JavaScript">
function chkNull{
if(document.addForm.text1.value==""){
alert('提示信息');
document.addForm.text1.focus();
return false;
}
if(document.addForm.text2.value==""){
alert('提示信息');
document.addForm.text2.focus();
return false;
}
}
</script>

------解决方案--------------------
楼上说的太武断了吧,你怎么知道楼主是不是初始化变量了啊
String srcbus = request.getParameter(); 这样初始化你说要不要NULL验证啊

楼主的条件有逻辑问题,2楼说的对。

------解决方案--------------------
最好还是要这样写
"".equals(srcbus)
如果像srcbus.equals(""),有可能会报异常。
------解决方案--------------------
Java code

if(srcstop !=null || "".equals(srcstop))

------解决方案--------------------
只需要判断request.getParameter("text1")!=null即可

------解决方案--------------------
Java code

if(srcstop!=null && !"".equals(srcstop)) { // 如果srcstop不为null并且srcstop不等于""

}