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

  • Boennchen
    hat ein Thema erstellt find den Fehler nicht!.

    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>

  • Boennchen
    antwortet
    Hi danke für die Antwort, genau das habe ich gesucht

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


  • Boennchen
    antwortet
    hm ja mag sein und deshalb hilft mir Deine Antwort auch nicht wirklich weiter

    Einen Kommentar schreiben:


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

    Einen Kommentar schreiben:


  • Boennchen
    antwortet
    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?

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    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.

    Einen Kommentar schreiben:

Lädt...
X