11548 sujets

JavaScript, DOM et API Web HTML5

salut, petit soucis avec javascript. J'ai un formulaire dont les champs sont interdits en ecriture (champs input et textarea) avec l'attribut readonly="yes".
J'aimerais quand on clique sur un lien a coté du formulaire que les champs redeviennent actifs en ecriture et que l'on puisse y rentrer des informations. mais je n'y arrive pas. Smiley decu

voila un exemple d'input dans mon code:
print("idFiche: ");print("<input type=\"text\" name=\"idF\" readonly=\"yes\" value=\"".$cf->fiche->idFiche."\" />");
		      print("<br />");
		      print("Terme: ");print("<input type=\"text\" name=\"terme\"  readonly=\"yes\" value=\"".$cf->fiche->terme."\" />");

c'est du php mais la n'est pas le probleme.
j'ai donc cree un lien <a href="javascript:modifier();"> et je met mon code javascript pour modifier mon formulaire .
La question est comment puis je annuler l'effet de readonly="yes" ?
J'ai essaye
document.formu.idF.readonly="no"

mais ca ne marche pas. quelqu'un aurait une idée de comment je peux faire pour aboutir au resultat que j'ai decrit plus haut?

merci!
Deux choses :
- En HTML : L'attribut readonly, s'il est présent, doit obligatoirement contenir la valeur readonly exactement, question de validité W3C.
- En JS : Deux remarques : Tout d'abord, attention à la casse, il y a bien une propriété mais elle s'appelle readOnly. De plus celle-ci est booléenne, c'est-à-dire qu'elle ne peut contenir que true ou false. L'attribution d'une valeur d'un autre type provoquera une conversion (cela signifie entre autres qu'une chaîne non vide est considérée comme true).