问题描述
需要判断用户是否选中列表中的选项或者输入了自定义的内容是否不为空,不为空才进行下一步操作,否则提示用户。
<p id="namep">姓名:
<input type="text" class="name"></input>
</p>
解决方法
获取指定标签的内容,进行判空处理
// $(document).ready(function(){ ... });
// 标签有设置 id 属性时,使用 $("#id") 获取标签即可
// 对于没有设置 id 的标签,使用类似jsoup表达式来获取
var nameVal = $("#aaa input[class='name']").val();
if(nameVal == null || nameVal == "" || nameVal == undefined){
alert("name 输入框为空");
}
备注:
1、获得内容 - text()、html() 以及 val() 三种方式的区别
text() - 设置或返回所选元素的文本内容
html() - 设置或返回所选元素的内容(包括 HTML 标记)
val() - 设置或返回表单字段的值
具体测试代码可以参考 http://www.w3school.com.cn/tiy/t.asp?f=jquery_dom_html_get
2、如果标签是动态添加的,需要考虑 undefined 的情况。
undefined 表示”缺少值”,就是指定标签应该有一个值,但是还没有定义,如果html里面还没生成该指定标签,其内容当然也是没有定义的,转为数值为NaN。一般出现的情况如下:
(1)变量被声明了,但没有赋值,直接使用时该变量值为 undefined;
(2)调用函数时,应该提供的参数没有提供,该参数等于 undefined;
(3)对象没有赋值的属性,该属性的值为 undefined;
(4)函数没有返回值时,默认返回 undefined。