2014-06-25 3 views
0

Je me demandais, puisque HTML5 apporte beaucoup d'attributs minimisés à la table (et l'ancien HTML a aussi ceux-ci), par exemple autocomplete, une autre façon d'écrire qui pourrait aussi être autocomplete="autocomplete" pour XHTML et la version complète de l'attribut.Comment pouvez-vous manipuler une valeur d'attribut minimisée en HTML?

La même chose avec le disabled ou disabled="disabled"

Ma question, est:
Comment UNSET ces attributs, comment puis-je arrêter la forme de autocompleting, ou faire un élément non désactivé à nouveau? Disons que je définis via PHP quelque chose comme disabled="<?php echo(x)?>", si je veux mettre quelque chose à désactiver, autant que je comprends, je peux mettre à peu près n'importe quelle valeur à x, et il sera toujours désactivé? Donc, comme si je tape x = "disabled" ou x = "randomword", il se comportera de la même manière et l'élément sera désactivé. Mais y a-t-il un mot de code pour réellement le rendre pas travail? Ou comment pouvez-vous y parvenir?

Par exemple, j'ai essayé:
disabled="false"
disabled="off"
disabled="0"

Et ils ne semblent pas fonctionner. Peut-être que je ne comprends pas le concept dans son ensemble, et comment pouvez-vous résoudre ce problème, quelqu'un pourrait-il me dire comment je peux changer ces valeurs dynamiquement et facilement?

Merci!

+3

Les attributs booléens déclenchent leurs effets simplement en étant présents.Si vous ne voulez pas que quelque chose soit désactivé, ne mettez aucun attribut désactivé. –

+0

Le titre de la question est étrange et semble avoir peu à voir avec le contenu de la question. –

Répondre

3

Si vous définissez disabled="SOMETHING", votre entrée sera être désactivé. La seule façon de faire ce que vous voulez est de ne pas mettre les attributs désactivés dans votre formulaire.

Au lieu de disabled="<?php echo(x)?>", vous pouvez stocker disabled='disabled' dans une variable et l'imprimer uniquement si elle doit être désactivée.

+0

D'accord, merci beaucoup, c'est ce qui me manquait/je n'ai pas pensé! – Arno

3

simplement changer disabled="<?php echo(x)?>" à:

<anyTag someAttribut="value" 
<?php 
    if(condition){ 
    echo ' disabled="disabled" '; 
    } 
?> 
>//End of Tag 

Le temps d'exécution, vous pouvez modifier ces attributs avec le javascript et les traiter comme propriétés de l'objet normal, booléennes:

document.getElementById('anyElementID').disabled = false; 
+0

Merci beaucoup! – Arno

1

Les attributs tels que autocomplete et disabled sont très différents les uns des autres et ne peuvent pas vraiment être traités en tant que groupe.

L'attribut autocomplete a deux valeurs possibles, on et off (sans distinction majuscules/minuscules), selon HTML5 LC. D'autres valeurs ont été définies dans d'autres brouillons HTML5, mais cela n'affecte pas le problème. C'est un attribut simple avec des valeurs de mots-clés. La valeur on est la valeur par défaut. Ainsi, pour éviter la saisie semi-automatique, vous devez définir autocomplete=off.

L'attribut disabled, ainsi que d'autres attributs, est défini pour que seule la présence de l'attribut soit importante, et non sa valeur. HTML5 appelle confusément de tels attributs "attributs booléens". Cela signifie qu'un élément n'est pas désactivé s'il ne possède pas l'attribut disabled. Donc omettez simplement l'attribut tout à fait.

Questions connexes