Comment désactiver tous les éléments en html par javascript.The manière la plus simple ...désactiver tous les éléments html
Répondre
je suggère de le faire le "Lightbox" façon de style.
Ajoutez un calque div en mode plein écran, transparent et positionné au-dessus de la page. De cette façon, l'utilisateur ne peut même pas cliquer sur un lien.
Pour donner à l'utilisateur un retour visuel indiquant que la page est désactivée, vous pouvez créer la division. g. 50% noir transparent.
BTW, voici également un jQuery Plugin qui utilise une technique similaire.
Je ne sais pas pourquoi vous auriez besoin cela, mais cela fonctionnera:
// 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;
}
Essayez ceci,
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;
}
}
}
}
Ou bien vous pouvez essayer cela aussi, comme RaYell dit
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;
}
}
Pour désactiver la page entière, vous pouvez trouver quelques informations here,
Tous les éléments de formulaire (entrées, sélectionne, textareas) dans une forme, sont accesible par la form.elements HTMLCollection, vous pouvez itérer la collection de désactiver chaque élément:
function disableForm(form) {
var length = form.elements.length,
i;
for (i=0; i < length; i++) {
form.elements[i].disabled = true;
}
}
Exemples d'utilisation:
disableForm(document.forms[0]);
disableForm(document.getElementById('formId'));
Peut-être en indiquant l'évidence, mais la même fonction (tweaked) peut être utilisée pour réactiver le formulaire. 'function enableForm (form) {var longueur = forme.éléments.length, i; pour (i = 0; i
Une fois j'ai dû créer un tutoriel pour mon site web. J'avais besoin de désactiver toutes les interactions sur une page en excluant certains éléments. Pour ce faire, j'ai utilisé cette méthode: D'abord, assurez-vous de supprimer toutes les liaisons d'événements de vos éléments de page. Vous pouvez le faire en utilisant:
$('*').unbind();
Suivant désactiver tous les liens sur votre page:
$('a').each(function(){$(this).click(function(){return false;})});
et désactiver toutes les entrées:
$('input').attr('disabled', true);
Le code doit être exécuté à la fin de votre document. BTW vous pouvez exclure certains éléments dans jquery selector pour les garder actifs.
ou vous pouvez l'exécuter dans le gestionnaire DOM ready de $ (function() {}) 'DOM. –
La méthode la plus simple consiste à mettre tous les éléments de formulaire que vous souhaitez désactiver à l'intérieur d'un <fieldset>
, puis de désactiver le jeu de champs lui-même.
Un exemple: http://jsfiddle.net/xdkf9b8j/1/
Si vous ne voulez pas la bordure autour du fieldset, retirez-le par css.
Notez que sur IE, les champs de texte sont grisés, mais toujours modifiables. –
Le meilleur moyen est d'ajouter une div avec le plus haut indice z ayant largeur: 100% et hauteur: 100% .Il va couvrir toute votre page et rendre tout non cliquable signifie pratiquement désactivé.Il est préférable, car il sera n'utilise aucune boucle et aucun code complexe.
Juste et sans béquilles!
- 1. jquery obtenir que tous les éléments html avec ids
- 2. Désactiver tous les avertissements gcc
- 3. wxPython: comment désactiver tous les accélérateurs temporairement?
- 4. problème Jquery sélectionner tous les éléments d'une table
- 5. Désactiver tous les sons du programme
- 6. Comment désactiver tous les hôtes virtuels apache?
- 7. Désactiver les erreurs HTML sélectionnées en eclipse
- 8. Largeur absorbant les éléments HTML
- 9. Enveloppe conditionnellement les éléments HTML
- 10. Tous les éléments Enum to string (C#)
- 11. Obtenir tous les éléments de démarrage?
- 12. Comment masquer tous les éléments sauf un en utilisant jquery?
- 13. Remplacer SRC de tous les éléments IMG en utilisant Parser
- 14. Étant donné une coordonnée x, y, je dois trouver tous les éléments html en dessous
- 15. htaccess rediriger tous les fichiers html
- 16. Comment activer/désactiver dynamiquement les éléments de la liste de contrôle en fonction des éléments cochés?
- 17. Comment puis-je désactiver tous les commentaires sur WordpressMU
- 18. Comment désactiver tous les boutons d'entrée sans utiliser jQuery?
- 19. Comment activer/désactiver tous les sous-contrôles d'une table?
- 20. Désactiver tous les contrôles Validator sur une page
- 21. désactiver les éléments dans une zone de liste déroulante
- 22. Zone de saisie HTML - Désactiver
- 23. Comment désactiver les objets Combobox?
- 24. comment désactiver tous ListBox sous une forme
- 25. Javascript pour modifier tous les éléments absolument positionnés
- 26. classe Ajout à tous les éléments en utilisant: eq
- 27. Redimensionner tous les éléments contenant avec javascript en utilisant
- 28. empêche tous les éléments dans un div d'être sélectionné. \
- 29. Comment supprimer tous les éléments d'un NSTableView contrôlé par NSArrayController?
- 30. Can javascript écoute "onDomChange" sur tous les éléments Dom?
Malheureusement, cela ne vous aide pas si vous pouvez obtenir le focus sur l'un des éléments derrière le div (en le tabulant ou avec un raccourci clavier) – Darren
@Darren - Yep, pour simuler correctement un dialogue modal, vous devez piège tous les événements de clavier, en particulier les touches de tabulation, pour empêcher le focus de quitter l'élément de dialogue. Vous pouvez éventuellement réinitialiser tous les éléments tabables de 'tabindex = '- 1'', mais vous devez les réinitialiser tous après la fermeture de la boîte de dialogue. –