Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1303 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  comment mettre des valeurs bout a bout pour un POST

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

comment mettre des valeurs bout a bout pour un POST

n°1300883
erwan83
Du Shift DEL tu te méfieras !
Posté le 08-02-2006 à 00:01:25  profilanswer
 

Je repose ma question....
 
<input name=\"cache\" type=\"hidden\" id=\"cache\" value= Thisform.input.value>
 
voila... au lieu de une seule valeur envoyer, je voudrais en envoyer deux sous la forme
machin.value + input.value
 
exemple:
"le chien " + "du voisin" ...  
en admettant que "du voisin" est deja defini par Thisform.input.value que dois-je modifier dans ma ligne de code ci dessus ?


---------------
http://www.ypikay.com
mood
Publicité
Posté le 08-02-2006 à 00:01:25  profilanswer
 

n°1300926
olivthill
Posté le 08-02-2006 à 00:41:33  profilanswer
 

C'est difficile de répondre (pour ce cas à propos d'un chien, ou le cas précédent d'un Monsieur) parce qu'il faudrait plus d'information.
 
Pourquoi s'embêter du côté client alors que ce genre de manip se fait habituellement du côté serveur où l'on dispose généralement d'un langage plus évolué PHP, ou Java, que du côté client où l'on a les pauvres javascript et vbscript ?
 
D'ou vient ce préfixe ("le chien" ) ou se suffixe ("du voisin" ) ? Est-ce un préfixe constant ou variable ? D'ailleurs, est-ce un préfixe ou suffixe qu'il faut ajouter ? C'était plus clair dans le cas du Monsieur.
 
En javascript, on peut changer le contenu d'un champ avec
 document.nom_de_la_forme.nom_du_champ.value = "prefixe"+"autrechose"
Par exemple :

<html>
<head>
<script language=javascript>
function traite_et_envoi() {
   ma_forme.cache1.value="prefixe"+ma_forme.saisie1.value;
   ma_forme.submit();
}
</script>
</head>
<body>
<form name="ma_forme" method="get">
<input type="text" name="saisie1" id="saisie1">
<input type="hidden" name="cache1" id="cache1">
<p>  
<input type="button" value="Envoi" onClick=traite_et_envoi()>
</form>
</body>
</html>

Et dans la barre d'adresse, tu verras bien &cache1=prefixetoto.

n°1300927
erwan83
Du Shift DEL tu te méfieras !
Posté le 08-02-2006 à 00:43:02  profilanswer
 

yoh...
merci


---------------
http://www.ypikay.com
n°1300947
erwan83
Du Shift DEL tu te méfieras !
Posté le 08-02-2006 à 01:44:21  profilanswer
 

olivthill a écrit :

C'est difficile de répondre (pour ce cas à propos d'un chien, ou le cas précédent d'un Monsieur) parce qu'il faudrait plus d'information.
 
Pourquoi s'embêter du côté client alors que ce genre de manip se fait habituellement du côté serveur où l'on dispose généralement d'un langage plus évolué PHP, ou Java, que du côté client où l'on a les pauvres javascript et vbscript ?
 
D'ou vient ce préfixe ("le chien" ) ou se suffixe ("du voisin" ) ? Est-ce un préfixe constant ou variable ? D'ailleurs, est-ce un préfixe ou suffixe qu'il faut ajouter ? C'était plus clair dans le cas du Monsieur.
 
En javascript, on peut changer le contenu d'un champ avec
 document.nom_de_la_forme.nom_du_champ.value = "prefixe"+"autrechose"
Par exemple :

<html>
<head>
<script language=javascript>
function traite_et_envoi() {
   ma_forme.cache1.value="prefixe"+ma_forme.saisie1.value;
   ma_forme.submit();
}
</script>
</head>
<body>
<form name="ma_forme" method="get">
<input type="text" name="saisie1" id="saisie1">
<input type="hidden" name="cache1" id="cache1">
<p>  
<input type="button" value="Envoi" onClick=traite_et_envoi()>
</form>
</body>
</html>

Et dans la barre d'adresse, tu verras bien &cache1=prefixetoto.


 
Voici mon code et ça ne marche pas
peux tu m'éclairer parce que javascript et moi... ça fait 12...
Merci en tout cas
 
 
<Script language="javascript">  
function blogblog() {  
   Thisform.cache.value = "blog " + Thisform.input.value;  
   Thisform.input.value = Thisform.cache.value;  
   Thisform.submit();  
}
</script>

 
<form action="resultat.php" method="post" class="sideboxtitle">
<input name="input" type="text" class="sideboxtitle" size="20">
<br><input type="submit" name="submit" value="GO" onClick="blogblog">
<input name="cache" type="hidden" id="cache" value= Thisform.input.value ></form></td>


---------------
http://www.ypikay.com
n°1301136
omega2
Posté le 08-02-2006 à 11:36:54  profilanswer
 

Pourquoi les questions de javascript tombent dans la section php aujourd'hui?

n°1301151
olivthill
Posté le 08-02-2006 à 11:48:58  profilanswer
 

Ca ne marche pas pour plusieurs raisons :
 
1. "Thisform" n'est pas défini.
Il faut avoir par exemple <form name="thisform" ...
ou bien passer le nom de la forme courante en paramètre par
onClick=blogblog(this) et récupérer ce paramètre dans la fonction qui serait défini par function blogblog(Thisform).
 
2. Javascript est un peu capricieux avec les espaces. Pour certains navigateurs, ton code contient un peu trop d'espaces en plusieurs endroits. En règle général, avec javascript, il vaut mieux éviter les espaces avant et après "=", "+", "<", ">", etc. , même si c'est moins lisible et moins beau.
 
3. Il est recommandé de choisir des noms qui ne sont pas des mots réservés.
Ce n'est pas très judicieux de choisir d'appeler ses champs "input" et "cache",  d'appeler le bouton "submit", d'appeler le formulaire "thisform". Il vaut mieux donner des noms qui éclairent sur le contenu des objets, par exemple "prenom", "var_temp", "bt_envoi", "f_saisie_etat_civil".
 
4. Il est préférable de n'avoir qu'un seul "submit". Dans le code il y en a deux puisqu'il y a à la fois le bouton de type "submit", et Thisform.submit();. Si l'on utilise Thiform.submit(), alors il vaut mieux avoir un bouton de type "button".
 
5. Il me semble que certains navigateurs préfèrent voir onClick=blogblog() plutôt que onClick="blogblog".
 
Je suis arrivé à quelque chose qui marche un peu mieux :

<html>
<head>
<Script language="javascript">  
function blogblog(Thisform) {  
   Thisform.cache.value = "blog " + Thisform.input.value;  
   Thisform.input.value = Thisform.cache.value;  
   Thisform.submit();  
}  
</script>  
 
</head>
<body>
<form method="get" name="la_forme">  
<input name="input" type="text" class="sideboxtitle" size="20">  
<br>
<input name="cache" type="hidden" id="cache">
<input type="button" name="go" value="GO" onClick=blogblog(la_forme)>  
</form>
</body>
</html>

Pour le test, j'ai mis "get" au lieu de post", mais cela devrait passer avec "post" aussi. Un faux bug est causé par l'espace dans "blog" + Thisform.input.value; . Le navigateur le remplace par un signe "+", ce qui est l'un des moyens standards pour éviter un espace dans une url un autre moyen est "%20".
 
Par ailleurs, si le champ caché ne sert qu'à cela, alors il aurait été plus pratique d'utiliser une simple variable ordianaire ou même rien du tout, et d'avoir un simple Thisform.input.value = "blog" + Thisform.input.value;
 
 

n°1301666
erwan83
Du Shift DEL tu te méfieras !
Posté le 08-02-2006 à 21:35:02  profilanswer
 

LOL j'ai tout fait en php...
plus simple
en fonction de l'origine du clic, il rajoute ceci ou cela
et ça marche
mais en tout cas merci à tous


---------------
http://www.ypikay.com
n°1302002
flock86
oh non les gars pas le slip!
Posté le 09-02-2006 à 13:35:50  profilanswer
 

comment on recupère l'origine d'un clic?
suis curieux... c'est tout!
merci de la réponse.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  comment mettre des valeurs bout a bout pour un POST

 

Sujets relatifs
probleme Value sur bouton (POST)Comment mettre en colonne des resultats de plusieurs lignes
mettre une video avec dreamweaverphpmyadmin : mettre à jour ?
[as] mettre un swf à la place d'un texte dynamique ou dedans[PHP] vBulletin mettre un bloc "login" en dehors du forum
Mettre une icone pour un fichier donnéMettre SS dans eax
Unix , Emacs & C++ : le mettre sous xp ?[AS2]mettre une variable
Plus de sujets relatifs à : comment mettre des valeurs bout a bout pour un POST


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR