11489 sujets

JavaScript, DOM et API Web HTML5

bonjour

j'ai créer une mini moulinette pour calculer une entête de fichier qui diffère entre 2 logiciels
( http://joch04.free.fr/achtml/QTP-3D-1.html#Qg-3d-Fg )

j'aurai voulu calculer directement sur ma page le résultat.
le pb c'est que je passe par de formulaires et qu'on ne peu pas faire de copier coller de toute l'entête

j'aurai donc souhaité la concaténer dans un textarea, mais je n'arrive pas a comprendre comment le remplir avec mes éléments calculés


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Document sans titre</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>

<body>

      <script>
      function cal() 
	  {
      var f1=document.form1.ncols.value;
      var f2=document.form1.nrows.value;
	  var f3=document.form1.xllcorner.value;
	  var f4=document.form1.yllcorner.value;
	  var f5=document.form1.cellsize.value;
	  
	  var r1=f2;
	  var r2=f3;
	  var r3=f4;
	  var r4=(f2*f5)+parseFloat(f4);
	  var r5=f1*f5+parseFloat(f3);
	  
	  document.form2.rows.value = r1;
	  document.form2.west.value = r2;
	  document.form2.south.value = r3;
	  document.form2.north.value = r4;
	  document.form2.east.value = r5;
	 
 var re=rows: parseFloat(r1)+\n+west: parseFloat(r2)+\n+south: parseFloat(r3)+\n+north:parseFloat(r4)+\n+east: parseFloat(r5);
 document.form3.entete.value = re;
	  }
      </script>
<table width="75%" border="1">
  <tr> 
    <td width="23%">&nbsp;</td>
    <td width="43%">&nbsp;</td>
  </tr>
  <tr> 
    <form name="form1">
      <td height="134">ncols : 
        <input type="text" value="0" name="ncols" onChange="cal()"> <br>
        nrows : 
        <input type="text" value="0" name="nrows" onChange="cal()"> <br>
        xllcorner : 
        <input type="text" value="0" name="xllcorner" onChange="cal()"> <br>
        yllcorner : 
        <input type="text" value="0" name="yllcorner" onChange="cal()"> <br>
        cellsize : 
        <input type="text" value="0" name="cellsize" onChange="cal()"> <br> 
    </form>
    <td><form name="form2">
        rows : 
        <input type="text" value="0" name="rows">
        <br>
        west : 
        <input type="text" value="0" name="west">
        <br>
        south : 
        <input type="text" value="0" name="south">
        <br>
        north : 
        <input type="text" value="0" name="north">
        <br>
        east : 
        <input type="text" value="0" name="east">
      </form></td>
  </tr>
  <tr> 
    <td>&nbsp;</td>
    <td>&nbsp;</td>
  </tr>
</table>
<p>entete</p>
<p> 
	<form name="form3"> 
  <textarea name="entete" cols="30" rows="5">
cols:
rows: 
west: 
south:
north:
east:
		  </textarea>
	 </form>	  
		  
</p>
    <p>&nbsp;</p>
</body>
</html>


si on supprime les lignes:

var re=rows: parseFloat(r1)+\n+west: parseFloat(r2)+\n+south: parseFloat(r3)+\n+north:parseFloat(r4)+\n+east: parseFloat(r5);
document.form3.entete.value = re;

, ça marche pour les formulaires, mais si je les laisse, le formulaire ne réaji plus, et le textarea ne change pas plus...

un conseil svp?
Modifié par x_all (17 Mar 2014 - 16:44)
pour ceux que ça intéresse, c'était un pb de guillemets....
la bonne syntaxe c'est ça....

var re='cols: '+ parseFloat(f1)+"\n"+'rows: '+ parseFloat(r1)+"\n"+'west: '+ parseFloat(r2)+"\n"+'south: '+ parseFloat(r3)+"\n"+'north: '+parseFloat(r4)+"\n"+'east: '+ parseFloat(r5);

merci pour vos conseils...