表格空检查

时间:2014-05-07 10:48:20

标签: javascript forms null

我构建了一个脚本,用于将用户在表单中键入的文本放在网站上。现在我正在尝试检查表格。如果表单为空,则表单的值不会放在网站上。如果表单不为空,则会将表单的值放在站点上。但我的脚本效果不好。你能看看吗?

if (formtitle.value != null && formdescription.value != null) {
    event.preventDefault();
    var giftinfo = "<div class='gifttext'>";
    giftinfo += "<img class='GiftImage omega' src='" + formimage.value + "'>";
    giftinfo += "<p class='GiftTitle'>" + formtitle.value + "</p>";
    giftinfo += "<p class='GiftDescription'>" + formdescription.value + "</p>";
    giftinfo += "</div>";
    var div = document.createElement("div");
    div.className = "gift";
    div.innerHTML = giftinfo;
    document.body.appendChild(div);
}
else if (formtitle.value = null && formdescription.value = null) {
    alert("Pola tekstowe są puste!");
    event.preventDefault();
}

2 个答案:

答案 0 :(得分:0)

在您的else if中,您需要使用=====而不是=,这仅用于分配而非比较。在else if保证满意之前,如果您有else if,那么您实际上并不需要formtitle.value

我建议更改您的if以检查formdescription.valuenull是否等于undefinedelse if,然后更改else只是if (formtitle.value != null && formdescription.value != null && formtitle.value != undefined && formdescription.value != undefined) { event.preventDefault(); var giftinfo = "<div class='gifttext'>"; giftinfo += "<img class='GiftImage omega' src='" + formimage.value + "'>"; giftinfo += "<p class='GiftTitle'>" + formtitle.value + "</p>"; giftinfo += "<p class='GiftDescription'>" + formdescription.value + "</p>"; giftinfo += "</div>"; var div = document.createElement("div"); div.className = "gift"; div.innerHTML = giftinfo; document.body.appendChild(div); } else { alert("Pola tekstowe są puste!"); event.preventDefault(); } 。您的新代码如下所示:

{{1}}

答案 1 :(得分:0)

所有表单字段的value属性始终为字符串。检查null是没有意义的,因为它永远不会为null。而是检查“空”字符串:

event.preventDefault();

if (!isEmpty(formtitle.value) && !isEmpty(formdescription.value)) {
    var giftinfo = "<div class='gifttext'>"
                 +     "<img class='GiftImage omega' src='" + formimage.value + "'>"
                 +     "<p class='GiftTitle'>" + formtitle.value + "</p>"
                 +     "<p class='GiftDescription'>" + formdescription.value + "</p>"
                 + "</div>";
    var div = document.createElement("div");
    div.className = "gift";
    div.innerHTML = giftinfo;
    document.body.appendChild(div);
}
else {
    alert("Pola tekstowe są puste!");
}


// somewhere in the global scope:
function isEmpty(value) {
    return /^\s*$/.test(value);
}