Placer une condition dans un form ? - PHP - Programmation
Marsh Posté le 22-11-2005 à 10:06:58
Si tu veux afficher deux champs supplémentaires sans recharger la page, c'est du côté de javascript qu'il faut voir, pas php.
Marsh Posté le 22-11-2005 à 10:13:34
Ok je vais aller voir du côté du JS, mais cela va pas foutre le bordel dans le code d'inserer du javascript ?
(Je comprend pas trop comment le JS & le php font pour fonctionner tout les deux étant donné que l'un est coté client et l'autre serveur.)
Marsh Posté le 22-11-2005 à 10:23:40
C'est pas bien de faire ça. Il faut que les champs soient tout de suite là. C'est une règle d'usabilité de ne jamais faire apparaître des choses. Beaucoup d'utilisateurs seront déroutés sinon
Je recherche vite-fait des références parlant de ça
Marsh Posté le 22-11-2005 à 10:38:53
Merci pour ta recherche FlorentG, mais l'utilisations de ce formulaire ne sera reservé qu'aux admin (cela les déroutera la première fois, mais on peut penser qu'ils prendront l'habitude).
Sinon est-il possible de placer les champs (en grisé) dans le formulaire mais les rendre accessible que si ma condition est verfié ? En clair, j'affiche mon formulaire et si "Autre" n'est pas selectionné dans la liste les 2 champs restent grisés (donc inaccessible ) dans mon formulaire.
Marsh Posté le 22-11-2005 à 11:07:14
Voilà, il faut les mettre en grisé, c'est mieux.
Au chargement de la page, un script les met en grisé (propriété disabled je crois). Puis lors de la sélection de l'option "autre", ils s'activent
Marsh Posté le 22-11-2005 à 11:46:14
Bon j'ai recherché un peu sur le net pour en savoir plus sur les champs grisés:
J'ai trouvé deux manières différentes, il y a bien la propriété "disabled" mais aussi "readonly".
Je crois que la difference entre les deux est que la propriété "disabled" ne va pas passer l'info à la page après la validation du formulaire, alors que "readonly" le fait même si les champs sont grisés.
Il faut passer par du JS pr activer/desactiver des champs grisés,--> http://javascript.developpez.com/f [...] r#ReadOnly
Marsh Posté le 22-11-2005 à 15:30:45
Voila j'ai trouvé comment faire activer/desactiver la proprieté disabled mais cela ne semble marcher qu'avec les checkbox. En effet je n'arrive pas a activer un "disabled" pour une des valeurs de liste du formulaire.
Voici mon code pour activer un champs si on selectionne l'option "Autre", mais bon ca tourne pas
Code :
|
Ca faisait un bout de temps que j'avais pas vu du JS donc je suis pas sur que cela tienne la route
Marsh Posté le 22-11-2005 à 17:15:25
Bon, j'ai pas eu le courage d'adapter à ton cas, tu me pardonneras
Code :
|
doit rendre accessible le champ text (et lui filer le focus) quand Autre est choisi et le rendre inaccessible sinon. (je suis pas pro-js non plus, mais ça doit fonctionner)
//edit : script un peu plus valide point de vue xhtml
Marsh Posté le 23-11-2005 à 01:13:53
naceroth j'ai testé ton script en l'adaptent à mon cas, ca ne fonctionnait pas. Ensuite je l'ai testé sans changer tes données cette fois ci et ca tourné pas non plus.
Je suis un peu bloqué, je manipule pas trop le javascript. Qqn peut m'expliquer la démarche en JS ?
Marsh Posté le 23-11-2005 à 02:16:12
J'emmerde Internet Explorer
Bref, même code en remplacant le JavaScript1.4 par JavaScript tout court, et monsieur IE devrait arrêter de faire la tête
Marsh Posté le 23-11-2005 à 10:29:50
Ouais, le probleme venait bien du JavaScript1.4. Je l'aurais jamais trouvé . Merci bcp naceroth
Marsh Posté le 24-11-2005 à 22:36:54
Voilà, en codant avec une DTD Strict, tu aurait apprit que l'attribut language n'existe plus, qu'on utilise type, et que la valeur pour du JS est text/javascript :
<script type="text/javascript"> |
Marsh Posté le 25-11-2005 à 01:51:56
FlorentG a écrit : Voilà, en codant avec une DTD Strict, tu aurait apprit que l'attribut language n'existe plus, qu'on utilise type, et que la valeur pour du JS est text/javascript :
|
Comme je case jamais les rares jscript que j'écris directement dans la page html mais plutot en <link>, je ne l'aurais de toutes manières pas remarqué
Marsh Posté le 25-11-2005 à 11:40:09
Exemple insertion de javascript dans un code php
if (($etape == 4) && ($attention == 1) && ($erreur != 1))
{
echo("<script langage=\"javascript\">\r\n" );
echo("function attention() {\r\n" );
echo("url = \"index.php?etape=4&vattention=1\";\r\n" );
echo("window.location.replace(url);\r\n" );
echo("}\r\n" );
echo("</script>\r\n" );
}
Marsh Posté le 28-11-2005 à 20:58:32
martialus a écrit : Exemple insertion de javascript dans un code php |
On vient de dire que l'attribut language existe plus Faudrait penser à lire. Et langage non plus d'ailleurs. Et c'est quoi ces echos tous moches ?
echo '<script type="text/javascript">', "\r\n", |
Marsh Posté le 22-11-2005 à 08:44:41
Bonjour, j'ai besoin d'un peu d'aide pour faire afficher un formulaire. Je voux explique :
Si l'utilisateur choisi l'option "Autre" dans une liste de form, on fait afficher deux nouveaux champs dans le même formulaire pour pouvoir rajouter le nom ou le mdp (par exemple).
Le code donne ceci :
Je sais pas trop comment on peut faire pour savoir si l'option "Autre" est selectionné tout en restant dans la page du formulaire.
Si vous pouviez m'expliquez en gros la marche à suivre, thx.
Message édité par 3tnieS le 22-11-2005 à 09:59:01