Modifier un type d'input si checkbox cochée

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Modifier un type d'input si checkbox cochée

Tu as raison

par Phil93 » 26 févr. 2007, 21:53

Oui, tu as raison. J'avais lu le code à moitié, donc une moitié de deux, ça m'en faisait qu'1. :D

Et j'avais lu comme j'avais voulu (en fait, j'avais bu — « j'ai bu, j'ai lu, j'ai pas vu » César dixit). Au survol, j'avais même pas vu qu'il avait mis des id… bizarre…

Quoi qu'il en soit, même moi qui ne suis qu'un poète, je ne code pas avec d'aussi grosses moufles… Enfin… ce que j'en dis…

Bien à vous,

Phil

Re: Ben non…

par Truc » 26 févr. 2007, 21:43

Ben non… en fait, ton erreur, elle vient simplement du fait que tu t'adresses à un objet DOM (getElementByID), comme son nom l'indique : « by ID ». Or, ton objet n'a qu'un « name ».
justement il en a 2 ayant la même valeur pour l'attribut "id" donc un de trop.

Ben non…

par Toujours Phil 93 » 26 févr. 2007, 20:13

Ben non… en fait, ton erreur, elle vient simplement du fait que tu t'adresses à un objet DOM (getElementByID), comme son nom l'indique : « by ID ». Or, ton objet n'a qu'un « name ».

Si tu définis « id="photo" » au lieu de « name="photo" » (ou les deux si tu travailles avec un formulaire), alors aucun problème pour utiliser :

monObjetHidden.type = "file"

Bien à toi,

Phil

Par le DOM

par Phil 93 » 26 févr. 2007, 20:09

Sinon, une solution qui fonctionne chez moi, sur Firefox, et + « DOMable » :

monObjetHidden.setAttribute('type', "file") ;

Bien à toi,

Phil

Re: Modifier un type d'input si checkbox cochée

par Truc » 26 févr. 2007, 19:46

Sinon, existe t'il une autre solution, comme par exemple, avoir deja des champs FILE à la base, mais invisibles, et les passer apparents lorsque la checkbox est cochée ?
tout à fait !
function show()
{
   if(document.getElementById("multiple").checked == true)
   {
      document.getElementById("photo_file").style.display = "";
   }
}

<input type="file" name="photo_file" style="display:none" size="40" id="photo_file" /></td> 
attention un id doit être unique !

Modifier un type d'input si checkbox cochée

par VaN » 26 févr. 2007, 17:13

Bonjour,

Je souhaiterai pouvoir modifier le type de quelqu'uns de mes inputs, lorsqu'une checkbox est cochée : Initialement, ces champs sont invisibles, donc de type HIDDEN. Lorsque l'utilisateur coche la checkbox, ils deviennent apparents, et de type FILE.

Est ce possible ?

Voilà le script que j'ai pour le moment créer. Il repère bien que la checkbox est cochée ou non, mais je n'arrive pas à modifier le type des inputs :

Code : Tout sélectionner

function show() { if(document.getElementById("multiple").checked == true) { document.getElementById("photo").type = "file"; } } ... <tr> <td>Envoi multiple :</td> <td><input type="checkbox" name="multiple" id="multiple" onchange="javascript:show();" /></td> </tr> <tr> <td></td> <td><input type="text" name="photo" size="40" id="photo" /></td> </tr> <tr> <td></td> <td><input type="text" name="photo" size="40" id="photo" /></td> </tr>
Comment dois-je modifier mon script ?

Sinon, existe t'il une autre solution, comme par exemple, avoir deja des champs FILE à la base, mais invisibles, et les passer apparents lorsque la checkbox est cochée ?