[英]javascript - how to prevent automatic form submission
我面臨的一個問題是,我的網頁上有一個接收條形碼輸入的文本字段,條形碼由條形碼讀取器設備寫入該字段。
現在發生的是,條形碼閱讀器在字段中寫入條形碼后以某種方式自動提交表單。 我想阻止該提交。
我嘗試通過使用preventDefault()
來執行此操作,但仍然沒有成功。 這是代碼:
<form role="form" method="post" action="IssueBook" id="issueBookForm">
<input type="text" value="" required name="empId" id="empId"
onblur="getEmpData(this)" />
<input type="text" value="" required name="barcode" id="barcode"
onblur="checkBookExistence(this); checkEligibilityForUser();" />
</form>
var issueBookForm = document.getElementById("issueBookForm");
issueBookForm.addEventListener('submit', function(event) {
event.preventDefault();
});
document.getElementById("submitButton").addEventListener('click',function(event){
var choice = confirm('Are you sure you want to issue this book ?? ');
if(choice === true){
issueBookForm.submit();
}
else false;
});
注意 :我只需要支持具有addEventListener
瀏覽器。 我知道以上內容不適用於舊版IE或兼容模式下的IE,這很好。 我正在Chrome瀏覽器中進行測試。
您可以使用onsubmit事件來調用JavaScript,在其中可以通過返回true和false來阻止提交
好吧,我在我的朋友的幫助下解決了這個問題,這可能不是最好的解決方案,但它可以起作用:
var x, inputs = document.querySelectorAll("input[type='text']");
for (x in inputs) {
if (inputs[x] instanceof Element) {
inputs[x].addEventListener('keyup', function(event) {
if (event.keyCode == 13)
return false;
});
}
}
這有助於防止在任何文本字段上按Enter時提交表單,而我所做的另一件事是將輸入類型從“提交”更改為“按鈕”。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.