fonction?????

mc
Eléphanteau du PHP | 47 Messages

26 janv. 2006, 12:23

je ne sais pas trop ou poster cette question mais je fait confiance au modo pour deplacer le topics si ce n'est pas le bon endroit.

voila je voudrait que lorsque un utilisateur remplis un champ de mon formulaire un autre champ ne soit plus accessible pour y etre rempli par l'utilisateur et je ne trouve pas la fonction pour le faire.


alors est ce possible je pense que oui

et si oui quel est cette mysterieuse fonction que je n'arrive pas a trouver

:-k :-k :-k
la programmation c'est comme une chasse au tresor !!!
sauf que les tresor c'est des bugs !!!
et que l'on ait content de pas en avoir !!!

Eléphant du PHP | 413 Messages

26 janv. 2006, 12:53

Salut,
je pense que c'est possible en utilisant du javascript.
--
Goeb

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

26 janv. 2006, 16:32

effectivement le javascript est de la partie puisque tu veux une interaction sur des champs d'un formulaire à la saisie d'un texte.

Javascript:
function bloquer(valeur)
{
   var etat= false;
   if (valeur != "")  // si le contenu du champ est différent de vide
        etat = true;

   document.nom_formulaire.nom_champ_a_bloquer.disabled = etat;
}
Formulaire:
<input type="text" name="" onkeypress="bloquer(this.value)" value="">

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Mammouth du PHP | 19672 Messages

26 janv. 2006, 17:27

... mais je fait confiance au modo pour deplacer le topics si ce n'est pas le bon endroit...
Mouais, un peu facile celle là : j'ai déplacé, mais si tu avais réfléchi un petit instant à ton problème, tu aurais su ou poster.

Tu voulais quelque chose qui soit "évènementiel", ça se passe donc coté client dans le navigateur de l'internaute. Un langage serveur ne peut donc pas intervenir, il faut un langage client. CQFD : le PHP n'est pas un langage client mais un langage serveur. Qu'avons-nous comme langages client ? JavaScript, non ? ;)
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

26 janv. 2006, 17:27

Je pense que tu veux bloquer un champ si un autre a été saisi :
Si c'est bien ça, supposons que t'as 2 champs : c1 et c2
quand c1 est rempli (évenement onChange en javascript) le champ c2 doit être bloqué (propriété .disabled du champ mise à true)

Ce qui donne le code HTML/Javascript suivant:

Code : Tout sélectionner

<p>Champ c1 <input name="c1" onChange="if (this.value.replace(' ','')!='') document.all['c2'].disabled = true; else document.all['c2'].disabled = false;"> <p>Champ c2 <input name="c2">
Remarque:
Le code if (this.value.replace(' ','')!='') permet de concidérer vide le champ si il ne contient que des espaces
Et aussi d'activer le champ c2 dans le cas où c1 a été effacé.
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

mc
Eléphanteau du PHP | 47 Messages

27 janv. 2006, 12:47

avis a Cyrano je sais c'est un peu facile !!!! dsl

mais j'aurais bien voulue que ce soit du php car des que sa touche un peu trop au javascript je suis un peu perdu.
il ya une semaine je ne savais meme pas en faire merci le web :) et surtout vous :):)

la solution de truc est bien

celle de sadeq fonctionne mais n'est pas fiable en effet apres plusieur manipulation j'ai reussi a ecrire dans les 2 champs.
ilsuffit de ecrire dans un champ effacer ce champ ecrire dans l'autre et hop o peut ecrire dans les 2 champs avant qu'il soit fermer.

en plus je n'arrive pas a les adapter a mon formulaire je regarde encore un peu et si je desespere je vous montrerais pour un peu d'aide.

sinon quel bouquin me conseillerait vous en ce momment sur javascript car les tutaux sur le web ne reponde pas toujours a mes besoins et je voudrait vraiement me perfectionner en javascript

merci ;)
la programmation c'est comme une chasse au tresor !!!
sauf que les tresor c'est des bugs !!!
et que l'on ait content de pas en avoir !!!

Mammouth du PHP | 19672 Messages

27 janv. 2006, 13:36

mais j'aurais bien voulue que ce soit du php car des que sa touche un peu trop au javascript je suis un peu perdu.
Si tu prends le temps d'observer les deux types de codes, tu remarqueras des similarités dans les structures de programmation. Le JavaScript n'est pas plus compliqué que le PHP, l'inverse n'est pas vrai non plus. Ce sont deux langages qui ont un rôle propre.

C'est vrai que regarder le code de certains scripts qu'on récupère sur Internet peut dérouter un débutant. Mais comme n'importe quel angage de programmation, il est fait de structures de contrôles, de boucles et d'instruction.

La différence entre les deux ? Le vocabulaire propre à chaque langage, des variantes de syntaxe, de grammaire, un peu comme des langues humaines. Si on compare le français et l'espagnol par exemple, on trouve des ressemblances parce que la structure générale est la même pour la raison toute simple que ces deux langues sont toutes deux issues du latin.
Codez en pensant que celui qui maintiendra votre code est un psychopathe qui connait votre adresse :axe:

Modérateur PHPfrance
Modérateur PHPfrance | 6037 Messages

27 janv. 2006, 18:05

la solution de truc est bien
celle de sadeq fonctionne mais n'est pas fiable en effet apres plusieur manipulation j'ai reussi a ecrire dans les 2 champs.
ilsuffit de ecrire dans un champ effacer ce champ ecrire dans l'autre et hop o peut ecrire dans les 2 champs avant qu'il soit fermer.
Heu...je te conseille www.aidejavascript.com qui a de bons articles pour débuter.
Sinon, sois logique et essaie de nous décrire plus précisément ce que tu veux: j'ai compris que tu voulais désactiver un champ en javascript. Mais quand ?

- quand l'utilisateur a rempli un autre champ ?
- quand l'utilisateur met son curseur dans l'autre champ ?
etC...
Règle n°2 du webmaster : Toujours commencer par le HTML qu'on veut obtenir....toujours ! :priere:
J'aime apprendre de nouvelles choses.