我有一个HTML表单,其中包含一些图像的文本字段和文件输入。它具有文本所需的字段,它还对使用JavaScript(jQuery)选择的图像进行了一些客户端验证。如何防止JavaScript form.submit()忽略必填字段
这里是形式:
<form name="addbookform" id="addbookform" action="processaddbook.php" method="POST">
<p />
<input name="name" id="name" type="text" placeholder="Name" required />
<p />
<textarea name="description" id="description" cols=30 rows=4 placeholder="Enter a short description">
</textarea>
<p />
<input name="image" id="image" type="file" accept="image/png, image/jpeg" />
<p />
<input type="button" id="finishbutton" value="Submit" />
</form>
做我写了一些JavaScript代码(使用jQuery)图像客户端检查,并将其链接到finishbutton
。
$(document).ready(function() {
$('#finishbutton').click(function() {
var fileInput = document.getElementById("bookimage");
if (fileInput.value == "") {
// We can just submit the form without an image.
addbookform.submit();
} else {
// Check for image size and other properties...
if (success == true) {
addbookform.submit();
}
}
});
});
现在图像检查工作正常(报告错误或图像有效),但是,也有在窗体上的name
输入必填字段。当图像检查通过(或没有图像),提交函数被调用,但它似乎像HTML已跳过所需的字段验证。
有没有办法来防止这种情况?
我会使用普通的'type = submit'按钮,然后使用$(“#addbookform”)。on(“submit”,...)'做任何额外的验证,防止提交如果图像验证失败,否则只是允许默认的提交行为继续。 – nnnnnn