Page 1 sur 1

Modifier la valeur d'un champ pour l'affichage

Posté : 03 mai 2006, 16:09
par bunk
Bonjour,

est il possible de modifier la valeur (afficher) d'un champ texte sans en modifier sa valeur ?

Voila ma fonction :
function contact_trt(val1) {
document.form.sujet.value=val1
}
et mon formulaire :
<form name="form" method="post" action="index.php?nvg=9&evt=4">
  <select name="select" size="8" onClick="javascript:contact_trt(this.options[this.selectedIndex].value)">

<?php

$sql = "SELECT * FROM contact_sujet ORDER BY sujet ASC";
$req = mysql_query($sql) or die('Impossible de visualiser les sujets'); 

while($data=mysql_fetch_array($req)) {

	echo '<option value="' . $data['id_contact_sujet'] .'/' . $data["sujet"] . '">' . $data["sujet"] . '</option>';

}
?>
  </select>

<input name="sujet" type="text" />
 
<input name="envoyer" type="submit" value="Envoyer" />
</form>
Tout fonctionne bien mais l'orsque on selectionne une donnée de la liste elle s'afiche completement dans le champ texte, ex : id/valeur

en je voudrais eliminer : id/ mais seulement a l'affichage pour ne pas alterer les diferentes actions de mon formulaire.

Pouvez vous m'aider ?
D'avance merci

Posté : 03 mai 2006, 17:32
par bunk
a priori impossible donc je vais chercher une parade

Posté : 03 mai 2006, 17:41
par Dominic
tu peux essayer de mettre l'ID en type hidden
<input name=entete type= hidden value=<? echo $data['id_contact_sujet'] .'/' ; ?>
ensuite
echo '<option value="' .$data["sujet"] . '">' . $data["sujet"] . '</option>';

et tu recompiles dans index.php en concaténant les 2variables
$entete et $data["sujet"] qui te redonneront l'original

Posté : 03 mai 2006, 18:27
par bunk
Pas très securisé mais ca ira bien pour le moment :

fonction :
function contact_trt(val1) {
var val1=val1.split('/')
document.form.id_sujet.value=val1[0]
document.form.sujet.value=val1[1]
}

function contact_trt2() {
document.form.sujet.value=''
document.form.id_sujet.value=''
}

function test(sup_su) {
location.href="index.php?nvg=9&evt=5&id=" + sup_su;
}
Formulaire :
<div>
<form name="form" method="post" action="index.php?nvg=9&evt=4">
<select name="select" size="8" onClick="javascript:contact_trt(this.options[this.selectedIndex].value)">

<?php

$sql = "SELECT * FROM contact_sujet ORDER BY sujet ASC";
$req = mysql_query($sql) or die('Impossible de visualiser les sujets'); 

while($data=mysql_fetch_array($req)) {

	echo '<option value="' . $data['id_contact_sujet'] .'/' . $data["sujet"] . '">' . $data["sujet"] . '</option>';

}
?>
  </select>

<input name="sujet" type="text" maxlength="30" size="32"/>
<input name="id_sujet" type="hidden" />
 
<input name="envoyer" type="submit" value="Envoyer" />
<input name="vider" type="submit" value="Vider" onClick="javascript:contact_trt2()" />
</form>
<input name="effacer" type="submit" value="Effacer" onClick="javascript:test(document.form.id_sujet.value)" />
</div>
merci