如果表單的至少一個變數沒有值,我想阻止我的表單提交并采取行動轉到另一個 php 檔案。
<form id="advform" class="" action="advancedsearching.php" method="GET" onsubmit = "return validate()" autocomplete="off" >
<div class="modal-header align-items-center justify-content-center py-2 ">
<h4 class="modal-title">Advanced Search</h4>
</div>
<div class="modal-body ">
<div class="form-group">
<label>Title:</label>
<input type="text" name="title" class="form-control" autocomplete="off" autocomplete="false" >
</div>
<div class="form-group">
<label>Author:</label>
<input type="text" name="author" class="form-control" autocomplete="off" autocomplete="false" >
</div>
<div class="form-group">
<label>ISBN:</label>
<input type="text" name="isbn" class="form-control" autocomplete="off" autocomplete="false" >
</div>
<div class="form-group">
<label>Publisher:</label>
<input type="text" name="publisher" class="form-control" autocomplete="off" autocomplete="false" >
</div>
<div class="form-group">
<label>Keyword:</label>
<input type="text" name="keyword" class="form-control" autocomplete="off" autocomplete="false" >
</div>
</div>
<div class="modal-footer justify-content-center ">
<input type="submit" class="btn btn-dark" value="Search" style="width:100%;border:1px solid black;">
</div>
</form>
嘗試添加
<script>
function validate() {
var x;
x = document.getElementById("advform").value;
if (x == "") {
alert("Please Enter a Value");
return false;
};
}
</script>
但它仍在提交
uj5u.com熱心網友回復:
function validate() {
var inputs = document.getElementById('advform').getElementsByTagName("input");
for (var i = 0; i < inputs.length; i )
{
if (inputs[i].type != "submit" && inputs[i].value != "")
{
return true;
}
alert("Please Enter a Value");
return false;
}
}
<form id="advform" class="" action="advancedsearching.php" method="GET" onsubmit = "return validate()" autocomplete="off" >
<div class="modal-header align-items-center justify-content-center py-2 ">
<h4 class="modal-title">Advanced Search</h4>
</div>
<div class="modal-body ">
<div class="form-group">
<label>Title:</label>
<input type="text" name="title" class="form-control" autocomplete="off" autocomplete="false" >
</div>
<div class="form-group">
<label>Author:</label>
<input type="text" name="author" class="form-control" autocomplete="off" autocomplete="false" >
</div>
<div class="form-group">
<label>ISBN:</label>
<input type="text" name="isbn" class="form-control" autocomplete="off" autocomplete="false" >
</div>
<div class="form-group">
<label>Publisher:</label>
<input type="text" name="publisher" class="form-control" autocomplete="off" autocomplete="false" >
</div>
<div class="form-group">
<label>Keyword:</label>
<input type="text" name="keyword" class="form-control" autocomplete="off" autocomplete="false" >
</div>
</div>
<div class="modal-footer justify-content-center ">
<input type="submit" class="btn btn-dark" value="Search" style="width:100%;border:1px solid black;">
</div>
</form>
uj5u.com熱心網友回復:
嘗試使用分配給提交按鈕的事件來執行此操作:
document.getElementById("submitBtnId").addEventListener("click", function(event){
// event.preventDefault() will stop your submit.
event.preventDefault();
});
要繼續提交,您可以使用:
event.currentTarget.submit();
uj5u.com熱心網友回復:
它不起作用,因為您的表單中有 id,它應該在您要驗證的輸入中。
另一種方式是在輸入中使用所需的屬性
<input type="text" name="publisher" class="form-control" autocomplete="off" autocomplete="false" required>
https://www.w3schools.com/tags/att_input_required.asp
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/380323.html
標籤:javascript html 形式
上一篇:PHP如何插入到MySQL多行
