tengo un boton El botón funciona bien. Después de haber presionado el botón, no será posible volver a presionar el botón. Será mejor si el botón parece deshabilitado.
Ya probé con document.getElementById("id").disabled = true; pero no puedo hacer que esto funcione.
Código PHP para el botón. El código hace una lista de botones. Cada botón tiene id= 1, 2, 3, etc.
if($_COOKIE["sorterdb"]=='GR' || empty($_COOKIE["sorterdb"])){$dblinjer[$i]['nrlink']='<span id="para'.$i.'"></span><div class="s-12 l-12"><button type="button" id="'.$i.'" value="'.$dblinjer[$i]['loebid'].'_'.$dblinjer[$i]['tid'].'_'.$dblinjer[$i]['utcstart'].'" onclick=baadimaal("baadimaal",this)>'.$dblinjer[$i]['buttonnrsejl'].'</button></div>';}JavaScript:
function baadimaal(str,el) { var x = el.value var id = el.getAttribute("id") const xhttp = new XMLHttpRequest(); xhttp.onload = function() { document.getElementById("container"+id).innerHTML = this.responseText; //her placeres svaret, som kommer tilbage fra hide-ajax-svar filen } xhttp.open("GET", "hide-ajax-svar.php?funk=" + str + "¶=" + x + "&i=" + id); //overfør str og x til hide-ajax-svar filen xhttp.send(); }Si tienes un botón como este:
<button class="button" id="1">Button 1</button> <button class="button" id="2">Button 2</button> <button class="button" id="3">Button 3</button>Puede agregar javascript eventlistener, hacer el trabajo, luego deshabilitar:
const buttons = document.querySelectorAll(".button") buttons.forEach((item) => { item.addEventListener("click", ()=>{ // DO SOMETHING WHITH YOUR BUTTON console.log(`You've clicked on ${item.id} and now I'm gonna disable it.`) // disable item.disabled = true; }) })Y dependiendo de su código, tal vez debería agregar "removeEventListener" en su botón.
Puede establecer la propiedad deshabilitada del botón en falso (consulte la respuesta de Sütemény András ), pero es posible que eso no funcione en todos los navegadores. También puede eliminar el oyente, sin embargo, eso no hace que el botón parezca deshabilitado.
Entonces, un enfoque de cinturón y aparatos ortopédicos es hacer ambas cosas, por ejemplo
window.onload = function() { // Listener function clickFn() { console.log('I\'ve been clicked! But no more…'); // Make button appear disabled this.disabled = true; // Remove the listener this.removeEventListener('click', clickFn); } // Add the listener to the button document.getElementById('b0').addEventListener('click', clickFn, false); }; <button id="b0">Click me</button>Tenga en cuenta que si usa setAttribute como en:
button.setAttribute('disabled', true); el segundo argumento es obligatorio pero su valor es irrelevante (puede ser false , 'foo bar', 42 , lo que sea). Independientemente del valor, el elemento se desactivará, lo cual es un vestigio de la antigüedad cuando se añadían atributos booleanos a HTML. Su sola presencia hace el trabajo, no toman un valor (por ejemplo, <button disabled>foo</button> crea un botón deshabilitado).
Para desactivar el atributo (es decir, para habilitar el botón nuevamente), use removeAttribute .