[英]<button> submittting on firefox, prevent default
我有一個帶有onclick
功能的<button>
。 我需要將參數傳遞給這樣的函數:
function go(id){
dosomething();
}
但是我不為什么,在Firefox <button>
上,按下時在表單上進行提交。
所以我需要防止默認行為,但是我不知道如何將event
參數傳遞給函數。 而且我不知道如何通過參數和事件參數來共同發揮作用。
return false;
對我不起作用。
我有這個:
<button id="qtd" class="btn btnqtdmais inline qtdinputbtn" onclick="soma(<?=$item['dados']['id']?>)">+</button>
和功能:
function soma(id){
dosomething();
}
事件參數應始終為last
function myfunction (id, event) {
event.preventDefault();
dosomething();
return false;
}
像這樣調用函數
button.onclick = function(e) { myfunction(id, e) };
要么
<button id="qtd" class="btn btnqtdmais inline qtdinputbtn" onclick="soma(<?=$item['dados']['id']?>, event)">+</button>
注意:我在Firefox上都嘗試了成功。
firefox事件行為很奇怪,您必須顯式傳遞事件參數,否則它將無法正常工作,與chrome不同,我敢說MS在沒有參數的情況下也可以工作
function myfunction (id) {
event.preventDefault();
dosomething();
return false;
}
編輯:這也有效
function soma (event, id) {
event.preventDefault();
dosomething();
return false;
}
<button id="qtd" class="btn btnqtdmais inline qtdinputbtn" onclick="soma(event, <?=$item['dados']['id']?>)">+</button>
嘗試使用onclick="this.preventDefault(); go(id);"
您可以嘗試使用一些JavaScript來禁止按鈕的默認操作
if (form.addEventListener) {
return form.addEventListener('submit', function(e) {
return e.preventDefault();
}, true);
}
HTML代碼:
<button type="button" id="btn1" onclick="return handleButton(event,'btnSearch');"/>
JavaScript代碼:
function handleButton(event, searchButtonId) {
event = event || window.event;
if (event.keyCode == 13) {
alert("Enter key pressed");
}
}
您必須將事件參數作為第一個參數傳遞給函數。 希望它能解決您的問題。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.