[résolus]<¿ Taille du champs ¿>

Mammouth du PHP | 601 Messages

23 mai 2006, 15:32

Bonjour,
j'essaie de calculer la taille d'un champs en fonction d'une variable, donc tout va bien sa fonctionne seulement la "value" n'affiche pas la variable ?
<?php
print "<form method=\"get\" action=\"http://creatif-web.be/video/essai.php\">";

$t="Nouvelle hausse du pétrole !";
$s = strlen($t);
// ici on détermine dynamiquement la taille de la chaîne.
echo "<input name=\"ffff\" type=\"text\" value=".$t." size=".$s."/>";
echo "</form>";
?>
Merci d'avance.
Modifié en dernier par artotal le 11 juin 2006, 18:28, modifié 4 fois.

Mammouth du PHP | 1353 Messages

23 mai 2006, 15:54

<?php 
print "<form method=\"get\" action=\"http://creatif-web.be/video/essai.php\">"; 

$t="Nouvelle hausse du pétrole !"; 
$s = strlen($t); 
// ici on détermine dynamiquement la taille de la chaîne. 
echo "<input name=\"ffff\" type=\"text\" value=\"".$t."\" size=\"".$s."\"/>"; 
echo "</form>"; 
?> 
Je suis pas sur que ca marche mais tu peux essayer...

Mammouth du PHP | 601 Messages

23 mai 2006, 16:04

Sa fonctionne, je vois mieux mon erreur !
Merci

Mammouth du PHP | 601 Messages

09 juin 2006, 14:43

Alors là je ne comprend plus, sa devrait marcher, sa marchait, mais sa ne fonctionne plus !
En faite la boite doit s'adapter à la taille de sont contenu, donc s'agrandir à chaque caractère frappé !
source du script
"PHP5 avancé" Eyrolles
page 174
<?php
print "<form method=\"get\" action=\"$PHP_SELF\">";
$t="Nouvelle hausse du pétrole !";
$s = strlen($t);
// ici on détermine dynamiquement la taille de la chaîne.
print "<input name=\"ffff\" type=\"text\" value=\"".$t."\" size=\"".$s."\"/><input name=\"\" type=\"submit\" value=\"envoie\"></form>";
?>
http://xavier-artot.com
¨'°-.,¸¸,.-·²°'´¨'°-.,¸¸,.-·²°'´¨'°-.,¸¸,.-·°'´¨
système d'exploitation "Ubuntu 7.10"

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

09 juin 2006, 16:44

Je ne sais pas ce qui te bloque, mais une chose est sure, tu y verras certainement plus clair comme ceci :
<?
$t="Nouvelle hausse du pétrole !"; 
$s = strlen($t); 
?>

<form method="get" action="<?php echo $PHP_SELF;?>"> 

  <input name="ffff" type="text" value="<?php echo $t;?>" size="<?php echo $s;?>" />
  <input type="submit" value="envoie" />
  <br />Taille : <?php echo $s;?>

</form>

Mammouth du PHP | 601 Messages

09 juin 2006, 17:55

oui merci.
Je pensait d'après le livre, que l'utilisateur en tapant des lettres le champs s'adaptait à la taille du texte, aparement c'est pas sa, mais pour tant, le livre est explicite ?
p 174
http://xavier-artot.com
¨'°-.,¸¸,.-·²°'´¨'°-.,¸¸,.-·²°'´¨'°-.,¸¸,.-·°'´¨
système d'exploitation "Ubuntu 7.10"

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

09 juin 2006, 20:51

J'ai po le livre donc je ne peux pas dire.. cela dit ton script étant en php, le champ ne s'agrandira pas lors de la saisie, mais uniquement à l'ouverture ou chargement de la page...
Pour qu'il dépende du texte saisi, il faut en plus passer ce texte en paramètre (vu que là c'est toujours le même texte dans $t, la taille ne change pas), et pour qu'il soit pris en compte à chaque lettre tapée, il faudrait poster le formulaire à chaque fois..

bref, je ne sais pas à quoi sert ton code concretement, je dirais qu'il permet juste d'afficher un champ dont la taille est proportionnelle au texte qu'il contient par défaut (pas ce qui est saisi)

Si tu veux modifier la taille du texte au fur et à mesure de la saisie, c'est du côté de javascript qu'il faut te tourner pour que ce soit fait côté client. Un script dans ce genre devrait faire l'affaire :

Code : Tout sélectionner

<input name="ffff" type="text" value="" size="1" onKeyUp="if(this.value!='') this.size=this.value.length" />
onKeyUp : lorsque l'utilisateur relache une touche du clavier
this : l'objet courrant (en l'occurence l'input)
this.size : la taille de l'input
this.value : le contenu de l'input
this.value.length : la longueur du contenu de l'input

A agrémenter de valeur max et min pour que ce soit plus joli :)

Mammouth du PHP | 601 Messages

09 juin 2006, 22:03

oui tu as totalement raison, d'ailleurs j'avais poster aussi ici et l'auteur à répondu, j'aurrai préféré ici :
http://www.developpez.net/forums/showth ... ost1044444
http://www.phpteam.net/forum/read.php?5,5747
Pour ton explication .js, elle super claire.
Merci
http://xavier-artot.com
¨'°-.,¸¸,.-·²°'´¨'°-.,¸¸,.-·²°'´¨'°-.,¸¸,.-·°'´¨
système d'exploitation "Ubuntu 7.10"

Administrateur PHPfrance
Administrateur PHPfrance | 658 Messages

10 juin 2006, 23:52

oui tu as totalement raison, d'ailleurs j'avais poster aussi ici et l'auteur à répondu, j'aurrai préféré ici :
http://www.developpez.net/forums/showth ... ost1044444
http://www.phpteam.net/forum/read.php?5,5747
Pour ton explication .js, elle super claire.
Merci
Merci Ryle :)
Co-auteur du livre PHP 7 avancé
Co-auteur du livre Performances PHP : Audit et optimisation LAMP
Co-fondateur de l'Association Française des Utilisateurs de PHP http://www.afup.org
Formateur PHP pour Openska

Eléphanteau du PHP | 32 Messages

11 juin 2006, 10:22

Quel est l'intérêt d'un champs qui s'agrandie automatiquement selon ce qu'on lui tape dedans à part risquer de frustrer l'internaute ??

Mammouth du PHP | 601 Messages

11 juin 2006, 12:49

aucun si ce n'est d'épater la galerie, et d'avoir un semblant d'originalité, mais être un tortionnaire j'ai dus rater un épisode ?
http://creatif-web.be/projet/sql/ajout_saisie.php
http://xavier-artot.com
¨'°-.,¸¸,.-·²°'´¨'°-.,¸¸,.-·²°'´¨'°-.,¸¸,.-·°'´¨
système d'exploitation "Ubuntu 7.10"

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

11 juin 2006, 14:33

Mouais, il y a de meilleur moyen d'épater la galerie qu'une demi ligne de code javascript si vous voulez mon avis. En revanche pouvoir voir l'intégralité de ce que contient un champ texte sans avoir à sélectioner et faire défiler peut être très agréable (pas forcement sur un site perso, un forum, etc. mais dans une application professionnel, c'est nettement plus interessant :))

Mammouth du PHP | 601 Messages

11 juin 2006, 15:43

Il semble que Belisarius, veux amorçer un débat sur l'accessibilité et l'optimisation utilisateur, voilà une bonne pratique, mais s'il te plais évite de tirer partout, vise à bon escient, il en pleux des cordes de ces fanatiques et pour sa tu as alsacréations les champions du monde, c'est du pains bénis la-bas tu aurra un tapis red(e). Quand à moi j'ai délibérement cessé d'écouter les exalter qui enferme les acteurs de bonne pratiques dans une geoles manichéènnes, pour ou contre, moi je choisis les compromis pour le bien de tous comme du mien, point de fanatisme qui emprisonne le contentement. Personne me tanera plus le cuir avec ces bobarts qui ne servent que le busness de particulier qui on sut tirer des profits.
Il serait juste de vous dire que faire campagne (même si le matraquage omnipotent est passé avant vous) est vain, la mode n'est plus à la découverte, cependant avec le web 2.0 et le js omnipresent demandez vous si sa colle à la réalité toutes ces histoires ?
PS : javascript, toutjours plus fort...
http://xavier-artot.com
¨'°-.,¸¸,.-·²°'´¨'°-.,¸¸,.-·²°'´¨'°-.,¸¸,.-·°'´¨
système d'exploitation "Ubuntu 7.10"

Mammouth du PHP | 601 Messages

11 juin 2006, 15:56

+1 Ryle tu t'exprime mieux que moi, j'aurrai voulu dire la même chose, :-)))
http://xavier-artot.com
¨'°-.,¸¸,.-·²°'´¨'°-.,¸¸,.-·²°'´¨'°-.,¸¸,.-·°'´¨
système d'exploitation "Ubuntu 7.10"

Eléphant du PHP | 377 Messages

11 juin 2006, 16:53

Sans vouloir envenimer la conversation, ça marche pas sur safari :cry:
En dépit de l' "accessibilisme" primaire dénoncé ici (ce en quoi je suis tout à fait d'accord), le MacUser existe et semble en voie de développement...
À prendre en compte donc ;)
Petit scarabée deviendra grand