我有一个HTML表单,其中包含一些文本字段和图像的文件输入。它需要文本字段,它还对使用JavaScript(jQuery)选择的图像进行客户端验证。
以下是表格:
<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已跳过必要的字段验证。
有没有办法阻止这种情况?
答案 0 :(得分:1)
我认为不是强制表单提交,而是反过来:如果出现问题,请阻止表单提交
在表单提交中,如果您在提交活动的任何时候return false;
,提交将被取消。