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.
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 :
- <form ...>
- <?php
- if ($formulaire =='type1'){
- $val = '';
- } else {
- $val = "qqch";
- }
- ?>
- <input type = "hidden" name = "var" value ="<?php echo $val ; ?>" />
- ... <!-- Les différents champs à remplir de ton formulaire que tu affiches ou non selon le cas comme précédemment je suppose -->
- <input type = "submit" value = "Envoi" />
- </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 ^^))...