Come possiamo disabilitare tutti gli elementi in HTML attraverso javascript.The modo più semplice ...disabilitare tutti gli elementi in HTML
risposta
vi consiglio di farlo nel "ID" via in stile.
Aggiungi uno strato di divisione dello schermo intero, trasparente, a schermo intero sopra la Pagina. In questo modo, l'utente non può nemmeno fare clic su un collegamento.
Per dare all'utente una risposta visiva che la pagina è disabilitata, è possibile effettuare la divisione con . g. 50% nero trasparente.
BTW, ecco anche un jQuery Plugin che utilizza una tecnica simile.
Non so il motivo per cui si avrebbe bisogno di questo, ma questo funzionerà:
// this will disable all input elements
var elems = document.getElementsByTagName('input');
var len = elems.length;
for (var i = 0; i < len; i++) {
elems[i].disabled = true;
}
Prova questo,
function disableForm(theform) {
if (document.all || document.getElementById) {
for (i = 0; i < theform.length; i++) {
var formElement = theform.elements[i];
if (true) {
formElement.disabled = true;
}
}
}
}
Oppure si può provare anche questo, come ha detto RaYell
function disableForm() {
var inputs = document.getElementsByTagName("input");
for (var i = 0; i < inputs.length; i++) {
inputs[i].disabled = true;
}
var selects = document.getElementsByTagName("select");
for (var i = 0; i < selects.length; i++) {
selects[i].disabled = true;
}
var textareas = document.getElementsByTagName("textarea");
for (var i = 0; i < textareas.length; i++) {
textareas[i].disabled = true;
}
var buttons = document.getElementsByTagName("button");
for (var i = 0; i < buttons.length; i++) {
buttons[i].disabled = true;
}
}
Per disattivare l'intera pagina è possibile trovare alcune informazioni here,
Tutti gli elementi del modulo (ingressi, seleziona, textarea) all'interno di una forma, sono accessibili attraverso la form.elements HTMLCollection, è possibile scorrere la collezione disabilitando ogni elemento:
function disableForm(form) {
var length = form.elements.length,
i;
for (i=0; i < length; i++) {
form.elements[i].disabled = true;
}
}
Esempi di utilizzo:
disableForm(document.forms[0]);
disableForm(document.getElementById('formId'));
Forse affermando l'ovvio, ma la stessa funzione (ottimizzata) può essere utilizzata per riattivare il modulo. 'function enableForm (form) {var length = form.elements.length, i; for (i = 0; i
Una volta ho dovuto creare un tutorial per il mio sito web. Avevo bisogno di disabilitare tutte le interazioni su una pagina escludendo alcuni elementi. Per fare ciò ho usato questo metodo: Prima assicurati di rimuovere tutti i collegamenti degli eventi dai tuoi elementi di pagina. È possibile farlo utilizzando:
$('*').unbind();
Successivo disattivare tutti i link sulla vostra pagina:
$('a').each(function(){$(this).click(function(){return false;})});
e disattivare tutti gli ingressi:
$('input').attr('disabled', true);
il codice deve essere eseguito alla fine del tuo documento. Tra parentesi è possibile escludere alcuni elementi all'interno del selettore jquery per mantenerli attivi.
oppure è possibile eseguirlo nel '$ (function() {})' gestore DOM ready. –
Il modo più semplice è quello di mettere tutti gli elementi del modulo che si desidera disabilitare all'interno di un <fieldset>
e quindi disabilitare il fieldset stesso.
Un esempio: http://jsfiddle.net/xdkf9b8j/1/
Se non si desidera che il bordo attorno al fieldset, rimuoverlo per css.
Nota che su IE, i campi di testo sono disattivati, ma comunque modificabili. –
Il modo migliore è aggiungere un div con il più alto z-index con larghezza: 100% e altezza: 100%. Coprirà l'intera pagina e renderà tutto non cliccabile significa disabilitato virtualmente. È meglio, perché sarà non utilizzare alcun ciclo e nessun codice complesso.
Solo e senza stampelle!
/**
* Enable/disable all form controlls
* @param status Status: true - form active, false - form unactive
*/
HTMLFormElement.prototype.setStatus = function (status) {
for (var i in this.elements) {
this.elements[i].disabled = !status;
}
};
// Example:
var my_form = document.getElementById('my_form_with_many_inputs');
my_form.setStatus(false); // Disable all inputs in form
my_form.setStatus(true); // Enable all inputs in form
- 1. Disabilitare gli elementi in JList
- 2. come disabilitare gli elementi in div contenteditable?
- 3. selezionare tutti gli elementi HTML in base al valore rel
- 4. Ottenere tutti gli elementi iframe
- 5. avvolgere tutti gli elementi tra due elementi
- 6. jquery ottenere solo tutti gli elementi HTML con ID
- 7. serie di elementi avvolgere tutti gli elementi
- 8. Moltiplica tutti gli elementi nell'array
- 9. Visualizza tutti gli elementi nell'array utilizzando jquery
- 10. jquery per disabilitare gli elementi del modulo
- 11. Java 8 stream. tutti gli elementi TRANNE gli altri elementi
- 12. Disabilitare tutti gli input mentre UIActivityIndicatorView gira
- 13. Come specificare gli attributi dei font per tutti gli elementi in una pagina Web html?
- 14. quadratura tutti gli elementi in una lista
- 15. Sostituisci tutti gli elementi in Knockout.js osservabileArray
- 16. Seleziona tutti gli elementi in una pagina
- 17. Come disabilitare gli elementi in una visualizzazione elenco?
- 18. Disabilitare gli elementi della tabella di accelerazione in MFC
- 19. Disattivare tutti gli elementi A (URL) in DIV
- 20. Offset generale per tutti gli ancoraggi in HTML?
- 21. Eliminare tutti gli elementi da un elenco
- 22. Rimuovi tutti gli elementi all'interno di linearlayout
- 23. Recupero di tutti gli elementi con DynamoDBMapper
- 24. Tutti gli elementi di archiviazione locali
- 25. Come attivare eventi su tutti gli elementi
- 26. Come faccio a moltiplicare tutti gli elementi in una raccolta con tutti gli elementi in un'altra raccolta?
- 27. Gli elementi HTML nascosti prendono spazio
- 28. Newlines tra gli attributi degli elementi HTML?
- 29. Posizionamento CSS Sopra tutti gli elementi
- 30. Somma tutti gli elementi java arraylist
Sfortunatamente questo non aiuta se riesci a mettere a fuoco uno degli elementi dietro il div (facendo tabulazione su di esso o con una scorciatoia da tastiera) – Darren
@Darren - Sì, per simulare correttamente una finestra di dialogo modale, devi intercettate anche tutti gli eventi della tastiera, in particolare i tasti Tab, per evitare che il focus lasci l'elemento di dialogo. Probabilmente è possibile resettare tutti gli elementi tabulabili in 'tabindex = '- 1'', ma dopo aver chiuso la finestra di dialogo è necessario ripristinarli tutti. –