Probleme parametre de fonction javascript

Probleme parametre de fonction javascript - HTML/CSS - Programmation

Marsh Posté le 13-03-2009 à 20:42:21    

Bonjour a tous,
 
J'ai un champ texte qui contient une ip que l'utilisateur tape. Lorsque j'appuie sur envoyer j'envoi la bonne commande, le probleme c'est que le navigateur s'entete a charger l'ancienne ip. Ce que je souhaite faire c'est actualiser la page en recuperant ce que l'utilisateur a tape dans le champ texte. J'ai cree une fonction pour actualiser la page mais je n'arrive pas a lui passer en parametre ce qu'il y a dans le champ.  
 
Voila mon code:
 
<HTML><HEAD>
<title>Changing the ip</title>
<style type="text/css">
body,td,th {
 font-family: Verdana, Arial, Helvetica, sans-serif;
 font-size: 12px;
 color: #666666;
}
</style>
<script type="text/javascript">
var ip;
var a;
function Jump(ip){
 
location.href=ip;
 
}
</script >
</head>
 
<blockquote>
 <p>&nbsp;</p>
 <p>Network Settings</p><hr><br>
 <div align="center">
  <table width="44%" border="1" cellpadding="4" cellspacing="1" bordercolor="#808080" bgcolor="#808080">
   <tr>
    <td colspan="2" bgcolor="#800080">
    <table width="100%" border="0" cellspacing="0" cellpadding="4">
     <tr>
      <td style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; color: #666666" width="145">
      <b><font color="#FFFFFF">IP Address<br>Ex:000.000.000.000</font></b></td>
      <td style="font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; color: #666666">
      <form method=get action="get_data" target="_blank">
       <body>Enter Text Here:
          <input type="text" name="arg1">
       <input type="submit"  value="Calibrate" onclick="setTimeout('Jump(form.arg1.value)',3000)">
 
       </body>
      </form></td>
     </tr>
    </table></td>
   </tr>
  </table></div>
</body>
</blockquote>
 
</html>
 
Il doit y avoir quelque chose que je ne vois pas... Si quelqu'un pouvait m'aider. Merci d'avance.
 
Dsl pour les accents clavier qwerty oblige

Reply

Marsh Posté le 13-03-2009 à 20:42:21   

Reply

Marsh Posté le 13-03-2009 à 21:51:03    

form.arg1.value
 
perso je le sens pas trop lui, il doit manquer un getdocument ou qqc ds le genre

Reply

Marsh Posté le 13-03-2009 à 23:59:31    

Mon dieu, ce code html   :sweat:
Et sinon, à quoi sert la variable a ?


Message édité par David Boring le 14-03-2009 à 00:19:04
Reply

Marsh Posté le 14-03-2009 à 00:29:29    

a ne sert a rien je faisait des test.L'html est genere par frontpage, je debute en html, ou est ce que je dois mettre getdocument?

Reply

Marsh Posté le 14-03-2009 à 09:47:45    

oromoyo a écrit :

L'html est genere par frontpage


 [:ciler]  
Pour en revenir au javascript,  
En fait tu utilises une "syntaxe raccourcie", le mieux est d'utiliser getElementById :

Code :
  1. var value = document.getElementById('id_d_un_element').value;

Reply

Marsh Posté le 14-03-2009 à 12:20:00    

Quitte à être débutant, autant partir sur de bonnes bases, et faire du bon html/css avant de se lancer dans le javascript.
 
Donc cette optique, je te dirais de recommencer ta page sans employer de logiciel comme Frontpage et de coder à la main, qui est la meilleure école.
Voilà le code pour faire un bon formulaire et en plus pour le styler avec les css
http://www.sitepoint.com/article/f [...] esign-css/
 
Mais sinon, voilà le code que je ferais dans ton cas

Code :
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
  6. <title>Changing the ip</title>
  7. <script type="text/javascript" charset="utf-8">
  8.  function changeLocation () {
  9.   var ip = document.getElementByiD("ip" ).value;
  10.   location.href=ip;
  11.  }
  12. </script>
  13. <style type="text/css" media="screen">
  14.  body {
  15.   color:#666666;
  16.   font-family:Verdana,Arial,Helvetica,sans-serif;
  17.   font-size:62.5%;
  18.   padding:20px 50px;
  19.  }
  20.  h1 {
  21.   font-size:1.2em;
  22.   border-bottom:1px solid #000;
  23.   padding:10px 0;
  24.   font-weight:normal;
  25.   margin-bottom:25px;
  26. }
  27.  form {
  28.   width:420px;
  29.   margin:0 auto;
  30.   font-size:1.2em;
  31.  }
  32.  fieldset {
  33.   background:#800080;
  34.   border:2px solid silver;
  35.  }
  36.  legend {display:none}
  37.  fieldset p  {
  38.   float:left;
  39.   color:#fff;
  40.   padding-right:15px;
  41.   font-weight:bold;
  42.  }
  43.  fieldset label {display:block;padding-top:5px;}
  44. </style>
  45. </head>
  46. <body>
  47. <h1>Network Settings</h1>
  48. <form action="" method="get" accept-charset="utf-8">
  49.  <fieldset>
  50.   <legend>Network Settings</legend>
  51.   <p>IP Address<br />
  52.   Ex:000.000.000.000</p>
  53.   <label for="ip">Enter Text Here: </label>
  54.   <input type="text" name="ip" value="" id="ip" />
  55.   <input type="submit" value="Calibrate" onclick="changeLocation()" />
  56.  </fieldset>
  57. </form>
  58. </body>
  59. </html>


Bien sur, c'est pour l'exemple que je mets tout dans le même fichier, mais il faudrait avoir un fichier .css et un autre .js

Reply

Marsh Posté le 14-03-2009 à 20:42:39    

Merci pour ton aide david. Mais j'ai toujours un problème, je souhaite envoyer dans la barre get_data?ip=192.168.168.40 , j'ai donc ajoute  action=get_data et apres avoir envoyé ça je souhaite rafraîchir la page avec l'ip qui est entré par l'utilisateur. Avec ton code la page n'est pas raffraichie?
 
 

Reply

Marsh Posté le 15-03-2009 à 20:47:07    

il y a une erreur ici :  

Code :
  1. var ip = document.getElementByiD("ip" ).value;


c'est pas un D majuscule sur iD mais un I majuscule et un d minuscule
getElementById
et ce code doit forcément marcher


---------------
Blablaté par Harko
Reply

Marsh Posté le 16-03-2009 à 05:37:27    

C'est toujours pareil meme en changeant Id, j'ai bien /get_data?ip=192.168.168.40 mais la page ne reactualise pas? Je suis sous FF, lorsque je lnce la page sous ie, j'ai seulement /get_data  :heink:  
 
Merci de ton aide Gatsu.

Reply

Marsh Posté le 16-03-2009 à 17:28:50    

ça te dirait d'utiliser un debugger JS comme firebug ????


---------------
Blablaté par Harko
Reply

Marsh Posté le 16-03-2009 à 17:28:50   

Reply

Marsh Posté le 16-03-2009 à 18:15:09    

Je crois que tu mélange un peu tout, j'ai déjà fais ton html, donc je ne vais pas t'aider plus, mais pour le moment essaye de comprendre la différence entre un formulaire, qui envoie sur une page (get_data) les données et un js qui se lance quand on clique sur le submit.
 
En gros, il te manque les bases pour comprendre ce que tu fais, je suis désolé …
 

Reply

Marsh Posté le 17-03-2009 à 18:18:48    

C'est bon j'ai compris et ca fonctionne merci a tous pour votre aide

Reply

Marsh Posté le 17-03-2009 à 22:18:40    

je souhaite egallement verifier le contenu du champ et le reformatter si besoin, c'est a dire si l'utilisateur tape l'ip 1.1.1.1 je veux envoyer au server 001.001.001.001 mais toujours reactualiser la page avec ce que l'utilisateur a tape cad 1.1.1.1
Je n'ai aucune d'idee comment faire et jtrouve pas en recherchant sur le forum?
 
Merci a tous pour votre aide

Reply

Marsh Posté le 17-03-2009 à 23:19:34    

il n'y a pas et il n'y a jamais eu en terme d'écriture d'adresse ip les 0 devant les nombres inférieurs à 100
 
on verra toujours 10.57.34.1 mais jamais on verra 010.057.034.001
c'est inutile, naze, pas beau et hors des habitudes


---------------
Blablaté par Harko
Reply

Marsh Posté le 18-03-2009 à 06:08:49    

C'est pas beau je le sais. Je travaille sur un serveur embarque equipe d'un uc 8051 et je dois recuperer l'adresse ip sous cette forme. Mais le probleme c'est que lorsque j'essai de reactualiser la page avec l'adresse sous la forme 001.001.001.001 il ne la prend pas alors qu'avec l'adresse 1.1.1.1 ca marche...

Reply

Sujets relatifs:

Leave a Replay

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