簡體   English   中英

<button>在Firefox上提交,防止默認</button>

[英]<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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM