Page 1 sur 2

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

Posté : 23 mai 2006, 15:32
par artotal
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.

Posté : 23 mai 2006, 15:54
par guilt92
<?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...

Posté : 23 mai 2006, 16:04
par artotal
Sa fonctionne, je vois mieux mon erreur !
Merci

Posté : 09 juin 2006, 14:43
par artotal
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>";
?>

Posté : 09 juin 2006, 16:44
par Ryle
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>

Posté : 09 juin 2006, 17:55
par artotal
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

Posté : 09 juin 2006, 20:51
par Ryle
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 :)

Posté : 09 juin 2006, 22:03
par artotal
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

Posté : 10 juin 2006, 23:52
par cyruss
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 :)

Posté : 11 juin 2006, 10:22
par Belisarius
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 ??

Posté : 11 juin 2006, 12:49
par artotal
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

Posté : 11 juin 2006, 14:33
par Ryle
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 :))

Posté : 11 juin 2006, 15:43
par artotal
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...

Posté : 11 juin 2006, 15:56
par artotal
+1 Ryle tu t'exprime mieux que moi, j'aurrai voulu dire la même chose, :-)))

Posté : 11 juin 2006, 16:53
par Shrell
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 ;)