Ankündigung

Einklappen
Keine Ankündigung bisher.

find den Fehler nicht!

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • find den Fehler nicht!

    Hallo Leute,

    möchte gerne wenn ein Button gedrückt wird, das dieser Wert sofort in dem dafür vorgesehen Eingabefeld erscheidt.
    Dies klappt auch so weit, aber es wird in allen Eingabefelder der gleiche Wert eingetragen.
    Ich hoffe mir kann einer weiterhelfen

    Code:
    <html>
    <head> 
    <script language="JavaScript" type="text/javascript">
    <!--
    function changed(obj) {
    	var anz
    	anz = parseFloat(obj.value);
    	for (var i=0; i<3; i++) {
    		document.form1['note'][i].value = anz.toFixed(1);
    	}
    }
    //-->
    </script>
    </head>
    <body>
    <form name="form1"  method="post" action="<?php $PHP_SELF ?>">
      <table border="1" cellspacing="1" cellpadding="2">
        <tr>
    	<?php
    	for ($i=0; $i<3; $i++) {
        	echo "<td><input name='note' type='text' size='3' value='' readonly='readonly' ></td>";
    		echo "<td><input name='anz1' type='button' size='3' value='1.0' onClick='changed(this);'></td>";
    		echo "<td><input name='anz1' type='button' size='3' value='1.3' onClick='changed(this);'></td>";
    		echo "<td><input name='anz1' type='button' size='3' value='1.7' onClick='changed(this);'></td>";
    		echo "<td><input name='anz1' type='button' size='3' value='2.0' onClick='changed(this);'></td>";
    		echo "<td><input name='anz1' type='button' size='3' value='2.3' onClick='changed(this);'></td>"; 
    		echo "<td><input name='anz1' type='button' size='3' value='2.7' onClick='changed(this);'></td>";
    		echo "<td><input name='anz1' type='button' size='3' value='3.0' onClick='changed(this);'></td>";
    		echo "</tr>";
    	}
    ?>
    </table>
    </form>
    </body>
    </html>
    Gruß
    Boennchen


  • #2
    for (var i=0; i<3; i++) {
    document.form1['note'][i].value = anz.toFixed(1);
    Alle drei 'note'-Objekte durchgehen und den Wert setzen. So steht es im Code, so passiert es.
    Du wirst entweder Deiner Funktion changed irgendeine Positionsangabe/id mitliefern oder ausgehend von obj nach dem passenden Feld suchen müssen.
    Position oder Id sind sicher einfacher umzusetzen.

    Kommentar


    • #3
      habe das jetzt so gemacht:
      Code:
      <html>
      <head> 
      <script language="JavaScript" type="text/javascript">
      <!--
      function changed(obj, i) {
      	var anz
      	anz = parseFloat(obj.value);
      	document.form1['note[0]'].value = anz.toFixed(1);
      
      }
      //-->
      </script>
      </head>
      <body>
      <form name="form1"  method="post" action="<?php $PHP_SELF ?>">
        <table border="1" cellspacing="1" cellpadding="2">
          <tr>
      	<?php
      	for ($i=0; $i<3; $i++) {
          	echo "<td><input name='note[$i]' type='text' size='3' value='' readonly='readonly' ></td>";
      		echo "<td><input name='anz1[$i]' type='button' size='3' value='1.0' onClick='changed(this, $i);'></td>";
      		echo "<td><input name='anz1[$i]' type='button' size='3' value='1.3' onClick='changed(this, $i);'></td>";
      		echo "<td><input name='anz1[$i]' type='button' size='3' value='1.7' onClick='changed(this, $i);'></td>";
      		echo "<td><input name='anz1[$i]' type='button' size='3' value='2.0' onClick='changed(this, $i);'></td>";
      		echo "<td><input name='anz1[$i]' type='button' size='3' value='2.3' onClick='changed(this, $i);'></td>"; 
      		echo "<td><input name='anz1[$i]' type='button' size='3' value='2.7' onClick='changed(this, $i);'></td>";
      		echo "<td><input name='anz1[$i]' type='button' size='3' value='3.0' onClick='changed(this, $i);'></td>";
      		echo "</tr>";
      	}
      ?>
      </table>
      </form>
      </body>
      </html>
      Es jetzt wird nur noch ins erste Feld geschrieben, da ich ja in der JS-Funktion:

      Code:
      document.form1['note[0]'].value = anz.toFixed(1);
      definiert habe, wenn ich aber jetzt den Wert i anstellte der 0 setze, passiert nicht, aber wenn ich i mittels document.write(i); ausgebe wird der richtige Wert angezeigt in welcher Spalte ich mich befinde.
      Wo liegt denn jetzt noch der Fehler?
      Gruß
      Boennchen

      Kommentar


      • #4
        Wo liegt denn jetzt noch der Fehler?
        In deinem Verständnis zwischen dem Unterschied von Strings und Variablen

        Kommentar


        • #5
          hm ja mag sein und deshalb hilft mir Deine Antwort auch nicht wirklich weiter
          Gruß
          Boennchen

          Kommentar


          • #6
            Code:
            document.form1.elements['note[' + i + ']'].value = anz.toFixed(1);

            Kommentar


            • #7
              Hi danke für die Antwort, genau das habe ich gesucht
              Gruß
              Boennchen

              Kommentar

              Lädt...
              X