[RESOLU] input image avec un onclick et value

Avatar du membre
Eléphant du PHP | 224 Messages

20 déc. 2014, 16:59

Hello,

Je cale sur un point (une fois de plus :lol: ).

Voilà, sur un formulaire, je récupère une valeur (immatriculation théorique d'un contenant) depuis une table "events", dans la colonne "dcu-t" (imm1 dans le formulaire).
Dans ce formulaire, je souhaite mettre une zone de texte input, qui est l'immatriculation réelle du contenant (et qui ira remplir la colonne "dcu_r" (imm2 dans le formulaire).

Voici le code que j'ai pour cela :
<form name="modification" action="modify_result.php" method="POST">
...
...
  <tr>
    <td>
	<input class="body" type="text" style="width:300px" id="imm1" name="imm1" value="<?php echo($donnees['dcu_t']);?>" /readonly>
	<input class="body" type="text" style="width:300px" id="imm2" name="imm2" value=""></td></td>
  </tr> 
...
...
    <td align="center"><input class="body" name="submit" style="width:300px" type="submit" value="Valider"></td>	
    <td></td>
  </tr>
 </table>
  </form>
Je souhaite ajouter un bouton "OK" pour que quand on clique dessus, la valeur dcu_t aille s'écrire dans la valeur de l'input "dcu_r".
Pour cela, j'ai mis un script qui fonctionne très bien sur un autre de mes projets, le voici :
[javascript]<script type="text/javascript">
function transferFieldimm1(someval) {
document.modification.imm2.value = someval;
}
</script>[/javascript]
et j'ajoute le bouton après l'input "dcu_t" , ce qui donne :
<form name="modification" action="modify_result.php" method="POST">
...
...
 <tr>
    <td>
	<input class="body" type="text" style="width:300px" id="imm1" name="imm1" value="<?php echo($donnees['dcu_t']);?>" /readonly>
	<input class="body" type="text" style="width:300px" id="imm2" name="imm2" value=""></td>
	<td><input type="button" style="width:130px" onClick="transferFieldimm1(this.value)" value="<?php echo($donnees['dcu_t']);?>" ></td>
  </tr>
...
...
    <td align="center"><input class="body" name="submit" style="width:300px" type="submit" value="Valider"></td>	
    <td></td>
  </tr>
 </table>
  </form> 
Le problème c'est que le bouton ne s'apelle pas OK mais prend la valeur "dcu_t" comme label.
Je voudrais donc mettre un bouton sous forme d'image, voici donc le code modifié :
<form name="modification" action="modify_result.php" method="POST">
...
...
  <tr>
    <td>
	<input class="body" type="text" style="width:300px" id="imm1" name="imm1" value="<?php echo($donnees['dcu_t']);?>" /readonly>
	<input class="body" type="text" style="width:300px" id="imm2" name="imm2" value=""></td>
	<td><input type="image" style="width:130px" onClick="transferFieldimm1(this.value)" value="<?php echo($donnees['dcu_t']);?>" src="./images/ok.png"></td>
  </tr>
...
...
    <td align="center"><input class="body" name="submit" style="width:300px" type="submit" value="Valider"></td>	
    <td></td>
  </tr>
 </table>
  </form>
Le bouton s'affiche bien sous la forme d'une image (que j'ai créée), mais souci, cela valide le formulaire en meme temps que ca inscrit (correctement) la valeur "dcu_t" dans l'input "dcu_r". Pourtant ce n'est pas lui le bouton submit.
Je poensais un problème de nom de fichier à cause du ok, mais en changeant, c'est pareil.

Comment je peux faire pour que ce ne soit pas ce bouton OK" qui valide le formulaire , mais qu'il se contente juste de recopier la valeur "dcu_t" dans l'input "dcu_r" ?

M'ci et bon OuiK :)
Couin
Un Couin vaut mieux que Deux tu couineras :D
Retrouvez-moi tous les dimanches soir à 22H pour un mix live au vinyle sur eurodance90.fr :mrgreen:

Eléphant du PHP | 63 Messages

20 déc. 2014, 18:35

Salut

Pour empêcher un comportement normal de HTML il faut un "return false" de javascript,
<input type="image" style="width:130px" onClick="transferFieldimm1(this.value); return false;" value="<?php echo($donnees['dcu_t']);?>" src="./images/ok.png">
Mais comme ta valeur dans id="imm1" est aussi la bonne, je présume que le type boutton peut être
<input type="button" style="width:130px" onClick="imm2.value = imm1.value;" value="OK">

Avatar du membre
Eléphant du PHP | 224 Messages

20 déc. 2014, 19:15

Hello,

Les deux solutions fonctionnent, merci beaucoup :)
Un Couin vaut mieux que Deux tu couineras :D
Retrouvez-moi tous les dimanches soir à 22H pour un mix live au vinyle sur eurodance90.fr :mrgreen: