我的验证表单js第一次显示为空,第二次工作



在我的代码中我使用了一个富文本编辑器。我为该编辑器设置了一个文本框,并在表单中设置了一个函数来验证表单,以确保没有空项。

提交表单时,它总是说HTML文本框为空,我单击OK按钮,然后再次单击save,它就保存了。换句话说,它必须被保存2次,才能阻止弹出窗口说它是空的。

我能做些什么使它,所以,如果它是空的,它显示弹出框,如果有东西在文本区域保存?

下面是我的一些代码:

function validateForm() {
var x = document.forms["myForm"]["subject"].value;
var y = document.forms["myForm"]["html_email"].value;
if (x == "") {
alert("You Did Not Enter A Subject Line");
return false;
}
if (y == "") {
alert("You Did Not Create The Body Of The E-Mail");
return false;
}
}
<form name="myForm" method="post" action="emails" onsubmit="return validateForm()">
<input style="width: 500px;" type="text" name="subject" value="$subject" placeholder="Subject Line" required>
<textarea class="ckeditor" name="html_email" required>$html</textarea>
<input type="submit" name="submit" class="btn-success" id="sendme" value="Save Email" />
</form>

我正在使用ckeditor.js,以使其成为一个富文本编辑器。

"required"没有像它应该的那样工作,所以它让空白保存发生。所以我必须使用这个JS来检查它,以确保它不是空白的。

你可以直接使用:

<script>
function validateForm() {
var x = document.forms["myForm"]["subject"].value;
if (x == null || x == "") {
alert("You Did Not Enter A Subject Line");
return false;
}
}
</script>

表单中的required属性将检查文本区域是否为空并显示警告。

还建议进行服务器端验证,因为javascript/html可以在客户端操作。

最新更新