News:

Join the Facebook Fan Page.

Main Menu

Fixing a javscript.

Started by Shoeb Omar, December 09, 2003, 09:25:52 PM

Previous topic - Next topic

Shoeb Omar

I think you chould be able to understadn what I'm doing fomr the following code:

echo '
<SCRIPT LANGUAGE="JavaScript" >
function doTotal(row){
document.bleh.totalrow.value = document.bleh.costrow.value*document.bleh.numroomsrow.value;
}
</SCRIPT>
<form name="bleh">
<table width="90%" align="center" style="border: 1px solid #000000;" cellpadding="2" cellspacing="0">';
echo '<tr><td></td><td align="center"><b># Rooms wanted:</b></td><td align="center"><b>Total Cost:</b></td><td></td></tr>';
while ($row = mysql_fetch_assoc($query)){
echo '
<tr>
  <td width="50%" align="left">
    <b>Name: </b>'.stripslashes($row['Hotel']).'<br>
    <b>Available: </b>'.mysql_time($row['StartDate']).' - '.mysql_time($row['EndDate']).'<br>
    <b># Rooms available: </b>'.($row['NumRooms'] - $row['Available']).'<br>
    <b>Occupancy: </b>'.$row['Occupancy'].'<br>
    <b>Cost per room: $</b>'.$row['Cost'].'<input type="hidden" name="cost'.$row['ID'].'" value="'.$row['Cost'].'" />
  </td><td width="15%" align="center" valign="center">
   <input type="text" size="2" name="numrooms'.$row['ID'].'" onChange="doTotal(\''.$row['ID'].'\')" />
  </td><td width="10%" align="center" valign="center">
    <input type="text" name="total'.$row['ID'].'" value="" size="4" disabled="true" />
  </td><td width="25%" align="center">
    <input type="submit" value="Book this Hotel!" onClick="window.location=\'bookhotel.php?hotel='.$row['ID'].'\'">
  </td>
</tr><tr><td colspan="2"><hr></td></tr>';
}


the javascript.. unsurprisingly.. doesn't work - help would be appreciated :).

The crux of it is making a "variable variable" in javascript.

[Unknown]

document.bleh['total' + row]?

-[Unknown]

Shoeb Omar

like:

   <SCRIPT LANGUAGE="JavaScript" >
   function doTotal(row){
      eval(\'totalrow=total\'+row);
      eval(\'costrow=cost\'+row);
      eval(\'numroomsrow=numrooms\'+row);
      document.bleh.[\'total\' + row].value = document.bleh.[\'cost\' + row].value*document.bleh.[\'numrooms\' + row].value;
   }
   </SCRIPT>

?

If so, isn't wokrin g:-/

[Unknown]

No reason to eval...

These are equivalent, just so you know:

document.test.name
document.test['name']
document['test']['na' + 'me']
document['test'].name

No extra dot... document.['test'] is nadda.

-[Unknown]

Shoeb Omar


Advertisement: