JS klappt im Firefox nicht!

boennchen

Mitglied
Hallo Leute,
habe ein Eingabefeld wo durch drücken von Grafik-Button Werte in das Eingabefeld geschrieben werden.
Alles so weit so gut unter dem IE klappt das auch wunderbar nur unter Firefox bekomme ich die Meldung im "undefined", woran kann das liegen.

Code:
  <script language="JavaScript" type="text/javascript">
  <!--
  function changed(obj, i) {
  
  	if(!isNaN(obj.value)) {
  	anz = parseFloat(obj.value);
  	document.displayFormSenden1['note['+i+']'].value = anz.toFixed(1);
  	} else 		
  	document.displayFormSenden1['note['+i+']'].value = obj.value;
  }
  //-->
  // TableHead
  ...
  for ($t=0;$t<$num;$t++){
  ...
  echo "<td><input class='tableData' type='text' name='note[$t]' value='' size='3' readonly></td>";
  	echo "<td>";
  	echo "<table cellpadding='0' cellspacing='0' border='0'>";
  	echo "<tr>";
 	echo "<td><div class='button_10' name='anz1[$t]' value='1.0' onClick='changed(this, $t);' ></div></td>";
 	echo "<td><div class='button_13' name='anz1[$t]' value='1.3' onClick='changed(this, $t);' ></div></td>";
 	echo "<td><div class='button_17' name='anz1[$t]' value='1.7' onClick='changed(this, $t);' ></div></td>";
 	echo "<td><div class='button_20' name='anz1[$t]' value='2.0' onClick='changed(this, $t);' ></div></td>";
 	echo "<td><div class='button_23' name='anz1[$t]' value='2.3' onClick='changed(this, $t);' ></div></td>";
 	echo "<td><div class='button_27' name='anz1[$t]' value='2.7' onClick='changed(this, $t);' ></div></td>";
  	echo "</tr>";
  	echo "<tr>";
 	echo "<td><div class='button_30' name='anz1[$t]' value='3.0' onClick='changed(this, $t);' ></div></td>";
 	echo "<td><div class='button_33' name='anz1[$t]' value='3.3' onClick='changed(this, $t);' ></div></td>";
 	echo "<td><div class='button_37' name='anz1[$t]' value='3.7' onClick='changed(this, $t);' ></div></td>";
 	echo "<td><div class='button_40' name='anz1[$t]' value='4.0' onClick='changed(this, $t);' ></div></td>";
 	echo "<td><div class='button_50' name='anz1[$t]' value='5.0' onClick='changed(this, $t);' ></div></td>";
 	echo "<td><div class='button_NT' name='anz1[$t]' value='NT' onClick='changed(this, $t);' ></div></td>";
  	echo "</tr>";
  	echo "</table>";
  ...
  }
 
Hallo...

wenn du eine Frage zu Javascript hast, poste bitte keinen PHP-Code, sondern den geparsten HTML-Code.

Ansonsten: Solange der gepostete Code nicht offenbart, worum es sich bei document.displayFormSenden1 handelt, wird dir niemand weiterhelfen können.
 
ok sorry,ich hoffe das ist besser:

Code:
   <script language="JavaScript" type="text/javascript">
   <!--
   function changed(obj, i) {
   
   	if(!isNaN(obj.value)) {
   	anz = parseFloat(obj.value);
   	document.displayFormSenden1['note['+i+']'].value = anz.toFixed(1);
   	} else 		
   	document.displayFormSenden1['note['+i+']'].value = obj.value;
   }
   //-->
   </script>
   <form name="displayFormSenden1"  action="<?php echo ($_SERVER['PHP_SELF'].'?'.$sn.'='.$sid); ?>" method="POST" >
  <table border ="1" cellspacing="0" cellpadding="2">
   <tr>
 <td class="tableHead">Name</td>
 <td class="tableHead">Note</td>
 <td class="tableHead">Tastatur</td>
 </tr>
   <tr>
 <td class="tableData">Test, Name</td>
 <td><input class="tableData" type="tex"' name="note[0]" value='' size="3" readonly></td>
   <td>
   <table cellpadding="0" cellspacing="0" border="0">
   <tr>
   <td><div class="button_10" name="anz1[0]" value='1.0' onClick='changed(this, $t);' ></div></td>
   <td><div class="button_13" name="anz1[0]" value='1.3' onClick='changed(this, $t);' ></div></td>
   <td><div class="button_17" name="anz1[0]" value='1.7' onClick='changed(this, $t);' ></div></td>
   <td><div class="button_20" name="anz1[0]" value='2.0' onClick='changed(this, $t);' ></div></td>
   <td><div class="button_23" name="anz1[0]" value='2.3' onClick='changed(this, $t);' ></div></td>
   <td><div class="button_27" name="anz1[0]" value='2.7' onClick='changed(this, $t);' ></div></td>
   </tr>
   </table>
   </td>
   <td><input type='Submit' name='senden1' value='senden' /></td>
   <td><input type='Reset' name='zuruecksetzen' value='zurücksetzen' /></td>
   </tr></table>
  </form>
 
Ein <div> hat lt. HTML kein value-Attribut.
Folglich kann man es mit JS auch nicht ermitteln(selbst wenn du es dort hingeschrieben hast).
Dass es im IE trotzdem geht, ist eher ein Fehler des IE als ein Fehler des FF.
 
Hm,
ok, aber wie könnte man das denn noch machen.
Habe es mit Buttons probiert und da klappt es in allen Browser nur leider macht Firefox dort die Buttons zu groß.
 
Du könntest bspw. das Attribut "title" verwenden. Dies ist ein Universalattribut und dort erlaubt.

Oder du gibst den Wert direkt beim Funktionsaufruf als Parameter mit.... momentan übergibst du dort ja das <div> als Objekt...benötigst aber eigentlich nur den Wert.
 
Es sollte aber so klappen:

Code:
<td class="button_10" name="anz1[0]" value='1.0' onClick='changed(this, $t);' ></td>


Einfach die <div>-tags weglassen.. oder?

PS: anstatt <td><div class="button_10"... <td class="button_10"...
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück