[résolu] Remplissage d'un champ de formulaire par javascript

Remplissage d'un champ de formulaire par javascript [résolu] - HTML/CSS - Programmation

Marsh Posté le 24-04-2007 à 18:11:39    

Bien le bonjour!
J'ai un petit soucis avec un script que j'essaie de mettre en place:
 
J'ai un formulaire de 2 champs, et l'un des deux champs se remplit en fonction de l'autre.
 
Voici mon code JS:

Code :
  1. function annuaire() {
  2. chambre = window.document.forms["form1"].chambre.value;
  3. if (chambre != "" )
  4. {
  5. tron = chambre.slice(1,3) /*On prend les 2 derniers chiffres de la chambre*/
  6. if (chambre < 60) {numero = 6324 + tron }
  7. if ((chambre > 60)&&(chambre < 100)) { numero = 6000 + tron }
  8. window.document.forms[0].numero.value = numero;
  9. }}


 
Et le code de mon formulaire:

Code :
  1. <body>
  2. <form id="form1" name="form1" method="POST" action="#">
  3.   <label>chambre
  4.   <input name="chambre" type="text" size="3" />
  5.   </label>
  6.   <br />
  7.   <label>numero
  8.   <input name="numero" type="text" size="4" />
  9.   </label>
  10.   <br />
  11.   <label>
  12.   <input type="submit" name="Submit" value="Chercher" onclick = "javascript:annuaire()"/>
  13.   </label>
  14. </form>
  15. </body>


 
J'ai deux problèmes.  :sweat:  
> Actuellement, "numero = 6000 + tron" renvoie par exemple: 6000324, au lieu de 6324.  
 
> Et ma page est rafraichie (donc les champs se vident) lorsque je clique sur le bouton alors que j'aimerais qu'elle reste la même. Avec simplement un champ qui se remplit.
 
A part ça mon champ numero prend bien la 'valeur' de numero. Jusqu'au rafraichissement.  :)  
Si vous pouviez m'aider à corriger ça ou me renvoyer vers un cas similaire déjà traité, ce serait sympa  :)


Message édité par BloodyAngel le 24-04-2007 à 22:43:39
Reply

Marsh Posté le 24-04-2007 à 18:11:39   

Reply

Marsh Posté le 24-04-2007 à 18:24:24    

normal pour le premier, tu fais une concaténation de 6000 et de 324.

Reply

Marsh Posté le 24-04-2007 à 18:27:14    

Ah oui à savoir:
Je débute en js, d'habitude je fais tout en php mais là je n'ai pas vraiment le choix. ^^
 
Donc comment faire pour additionner mes deux variables entant que chiffres et sans les concaténer? :)

Reply

Marsh Posté le 24-04-2007 à 18:28:37    

Je sais pas [:dawa] mais tente un addition js dans google \o/

Reply

Marsh Posté le 24-04-2007 à 18:34:17    

Bah en fait, vu que je découpe le numéro de chambre, j'ai un peu peur qu'il considère 'tron' comme une chaine de caractère.  
 
Et dans ce cas il faudrait que je trouve une fonction qui transforme les chaines de caractères en.. heu.. nombres.  
Mais je sais pas s'il fonctionne comme ça js. ^^'
 
Sinon je vais me débrouiller en faisant quelque chose comme:  
'tron = chambre - 300' là ça sera un nombre à coup sûr.
Vive le bricolage. :X

Reply

Marsh Posté le 24-04-2007 à 21:45:47    

parseInt(nomber, base)
chaine="1044545";
var newnombre = parseInt(chaine, 10);

Reply

Marsh Posté le 24-04-2007 à 22:41:59    

Ca marche !
Merci bien.
\o/
 
Et j'ai résolu mon problème de refresh par un "return false;" dans mon onclick à la fin.

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed