我正在研究mvc4项目。
如果动态创建的文本框的值为null
为此我试着跟随
function ValidateForm() {
debugger;
$("#MYFORM tr td").find("input:text").each(function (index) {
debugger;
if ($(this).attr("value") == undefined && $(this).attr("value") == "") {
alert("values are null..")
return false;
}
});
}
请让我知道jquery检查空值的语法。
我的问题是我的FORM中有多个TEXTBOX
答案 0 :(得分:2)
使用val()
function ValidateForm() {
var flag=0;
debugger;
$("#MYFORM tr td").find("input:text").each(function (index) {
debugger;
if ($(this).val() == undefined && $(this).val() == "" && $(this).val()==null) {//use val() here
alert("values are null..");
flag=1;
//$(this).css("border","1px solid red"); all input which are null will be have red border
}
});
if(flag==1){
return false;
}
else{
return true;
}
}
答案 1 :(得分:2)
您可以使用以下任何方法检查该值是否为空:
if(!$(this).val())
if($(this).val().length == 0)
答案 2 :(得分:1)
工作jsfiddle:http://jsfiddle.net/patelmilanb1/9NMmx/2/
$(document).ready(function () {
$('#MYFORM tr td').html("<input type='text' />");
});
$(document).on("blur", "#MYFORM input[type=text]", function () {
ValidateForm($(this));
});
function ValidateForm(element) {
if ($(element).val().length < 1) {
alert("values are null..")
}
}
您需要在文档级别为动态创建的HTML元素绑定事件。
答案 3 :(得分:1)
您的if
条件永远不会成立。改变它:
if ($(this).attr("value") == undefined && $(this).attr("value") == "")
要:
if ($(this).attr("value") == undefined || $(this).attr("value") == "")
OR:
if ($(this).val() == undefined || $(this).val() == "")
答案 4 :(得分:0)
这与jQuery无关。
在Javascript中,一个概念未定义(值不存在),其他null和其他空字符串''。
我建议首先检查undefined和null,然后检查空字符串 我还建议缓存返回值。
var val = $(this).val();
if(val == null || val.length == 0)
alert('values are null ...');
val == null被评估为true,无论val是未定义还是null。