我在Javascript中的代码:
function saveChanges() {
var formData = {
ProjectId: $('#rz-project').val(),
ArticleId: $('#rz-article').val()
};
if (formData.ProjectId != null && formData.ArticleId != null)
{
$.ajax({
url: baseUrl + 'Time/EditReport',
type: "post",
data: { timeReport: formData },
success: function (result) {
success("Changed");
},
error: function (err) {
alert(err.statusText);
}
})
}
else { }
还尝试了!==,但它是一样的。
当我调试时,我可以看到值为null,但它执行if语句,因为它是真的。
我一直在谷歌搜索,但有人使用if($()),但我不这样,我没有看到问题?尝试我的验证,但因为表格没有发布,我无法让它工作(有2个按钮,但它同样对待所以我不得不从发布更改为只有带有id的“html.beginform”)
答案 0 :(得分:2)
使用
if (formData.ProjectId != "" && formData.ArticleId != "")
答案 1 :(得分:2)
没有元素具有null
值。 null
表示没有值,而在<input>
元素中,value
始终存在。
因此,您不必检查值是否存在,但如果该值不为空,则为@ sifanovi059建议。
考虑到JavaScript可以隐式地将String
强制转换为Boolean
,如果字符串(true
)存在(str
),则为str != null && str != undefined
,如果字符串为空(str.length > 0
),所以你可以试试这个:
if (formData.ProjectId && formData.ArticleId)