Désactivation champ dans un formulaire

Désactivation champ dans un formulaire - HTML/CSS - Programmation

Marsh Posté le 26-07-2007 à 15:55:05    

Bonjour
Le but est de "desactiver" certains inputs dans un formulaire html classique.
Par désactiver j'entends ne pas passer les valeurs de ces champs lors de la validation du formulaire.
 
J'ai testé par javascript la propriété disabled, mais ca marche pas.
 
En gros je desactive des divs dans lesquels sont les inputs, mais je connais pas d'avance les inputs dans ces divs.
 
Et je ne veux pas non plus vider ces divs, j'ai besoin des inputs préremplis, meme si ils ne passent pas dans les valeurs passées en POST.
 
Ni changer les names, ou autres.
 
Donc en gros existe t'il un moyen de ne pas faire passer des inputs dans la validation d'un formulaire?

Reply

Marsh Posté le 26-07-2007 à 15:55:05   

Reply

Marsh Posté le 26-07-2007 à 16:02:11    

Plus precisément, existe t'il un moyen de désactiver tous champs contenus dans un div?

Reply

Marsh Posté le 26-07-2007 à 16:12:05    

tu prends le problème à l'envers. Ce genre de traitement ( analyse ou non des variables transmises) doit être fait coté serveur et non via des moyens détournés en js.

Reply

Marsh Posté le 26-07-2007 à 16:22:49    

Si tu veux désactiver un INPUT, tu peux changer son attribut READONLY ou DISABLED.

Reply

Marsh Posté le 26-07-2007 à 16:27:47    

oui mais je sais pas trop ce que jy met dans mes divs, c'est couplé avec de l'AJAX.
Ce que je connais c'est mes divs.
Ya pas moyen de desactiver tout ce qu'il y a dedans?

Reply

Marsh Posté le 28-07-2007 à 00:08:36    

Decapfour a écrit :

Le but est de "desactiver" certains inputs dans un formulaire html classique.
Par désactiver j'entends ne pas passer les valeurs de ces champs lors de la validation du formulaire.


 
Ne pas passer les valeurs des champs... ça c'est côté serveur donc exit javascript...
Maintenant je ne comprend pas l'utilité de la chose à moins que tu ne veuilles empêcher la transmission de champs de type caché (<input type = "hidden"...>...), mais à priori tu ne peux pas.
 
 

Decapfour a écrit :


J'ai testé par javascript la propriété disabled, mais ca marche pas.


javascript va empêcher l'affichage mais n'empêchera pas la transmission de variables (à priori les variables auront pour valeur celle que tu leur a donné par défaut dans ton script).
 
En gros je desactive des divs dans lesquels sont les inputs, mais je connais pas d'avance les inputs dans ces divs.
 

Decapfour a écrit :


 
Et je ne veux pas non plus vider ces divs, j'ai besoin des inputs préremplis, meme si ils ne passent pas dans les valeurs passées en POST.
 
Ni changer les names, ou autres.
 
Donc en gros existe t'il un moyen de ne pas faire passer des inputs dans la validation d'un formulaire?


J'ai un problème de compréhension là...
Bon d'après ce qu'il en ressort, j'en déduit que ton formulaire sert à traiter différentes données selon le contexte.
Donc Sol1 : tu revois ta fiche, et tu crées autant de formulaire que nécessaire ou au moins tu divises en 2 ou 3 types...
Sol 2 : tu conserves ton formulaire actuel, mais comme selon le cas d'une affiche qu'une partie de ton formulaire, je suppose que dans ton cas, il faudrait que les champs cachés à l'utilisateur (côté client) ne voient pas leur valeur transmise (côté serveur) genre $_POST['...']
    Je ne pense pas que tu puisses le faire... par contre, tu peux modifier la valeur par défaut des input via du php par exemple en leur affectant une valeur nulle si tu ne veux pas transmettre la valeur:
 

Code :
  1. <form ...>
  2.         <?php
  3.               if ($formulaire =='type1'){
  4.                    $val = '';
  5.              } else {
  6.                    $val = "qqch";
  7.             }
  8.         ?>
  9.          <input type = "hidden" name = "var" value ="<?php echo $val ; ?>" />
  10.          ...    <!--  Les différents champs à remplir de ton formulaire que tu affiches ou non selon le cas comme précédemment je suppose  -->
  11.          <input type = "submit" value = "Envoi" />
  12.     </form>


 
    Quoi que tu fasses, les valeurs de tout les champs input inclus dans un formulaire seront transmises... mais tu peux leur affecter une valeur différente selon le cas.
 
    Maintenant il peut sembler judicieux de faire plusieurs formulaires distincts (plus simple, plus compréhensible, mais modifcations doubles :/ ) plutôt que de sortir l'artillerie lourde(1 ! formulaire, mais prise de tête et surtout difficulté à comprendre le tout en cas de mise à jour dans qqes mois(voir semaines ^^))...

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed