我构建了一个脚本,用于将用户在表单中键入的文本放在网站上。现在我正在尝试检查表格。如果表单为空,则表单的值不会放在网站上。如果表单不为空,则会将表单的值放在站点上。但我的脚本效果不好。你能看看吗?
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();
}
答案 0 :(得分:0)
在您的else if
中,您需要使用==
或===
而不是=
,这仅用于分配而非比较。在else if
保证满意之前,如果您有else if
,那么您实际上并不需要formtitle.value
。
我建议更改您的if以检查formdescription.value
和null
是否等于undefined
或else 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);
}