Making myself crazy here. Only have basic php knowledge and I'm trying to create a form for a client where they can enter the number of a particular type of ticket they want to purchase, and it needs to update a "total" field for that type of ticket and the overall total. Once the fields are current, it just needs to pass the total to another site that handles the payment processing...
I can't get the totals to work and I can't get the total to pass to the form as anything other than a static value number...GRRR!!!
I've tried doing this 2 ways, using a function and not...neither one updates the fields...
I pasted the code below and also attached the two files...
Here's the non-function method...you can see at the end of this one where I try to send the value as a variable
Code:<form method='Redirect' action= 'URL of payment processing site'> <table width="600" border="0" cellspacing="0" cellpadding="0"> <tr> <td colspan="4"><strong>Purchase tickets:</strong></td> </tr> <tr> <td width="32%">Tickets</td> <td width="20%"><div align="center">Price</div></td> <td width="17%"><div align="center">Number</div></td> <td width="150"><div align="center">Total</div></td> </tr> <tr> <td>Concert only</td> <td><div align="center">$25</div></td> <td><div align="center"><input type="text" name="num_concert" id="num_concert" size="15" value="0" onchange="document.myform.total_concert.value=25*parseInt(this.value);document.myform.total_total.value=parseInt(document.myform.total_reception.value)+parseInt(document.myform.total_donate.value)+25*parseInt(this.value);" /></div></td> <td><div align="center">=$ <input type="text" name="total_concert" id="total_concert" size="15" value="0" /></div></td> </tr> <tr> <td>Concert plus reception</td> <td><div align="center">$75</div></td> <td><div align="center"><input type="text" name="num_reception" id="num_reception" size="15" value="0" onchange="document.myform.total_reception.value=75*parseInt(this.value);document.myform.total_total.value=parseInt(document.myform.total_concert.value)+parseInt(document.myform.total_donate.value)+75*parseInt(this.value);" /></div></td> <td><div align="center">=$ <input type="text" name="total_reception" id="total_reception" size="15" value="0" /></div></td> </tr> <tr> <td> </td> <td> </td> <td><div align="right"><strong>Total:</strong></div></td> <td><div align="center">=$ <input type="text" name="total_total" id="total_total" size="15" value="0" /></div></td> </tr> </table> <table cellSpacing='0' cellPadding='0' border='0'> <tr> <td align='right' width='300'></td> <td align='left' width='200'><input type='hidden' name='pg_api_login_id' value='xxx'/></td> </tr> <tr> <td align='right' width='300'><div align="left"><b>Total: </b></div></td> <td align='left' width='200'><input type='hidden' name='pg_total_amount'value=total_total /><br></td></tr><tr><td align='right' width='300'></td><td align='left' width='200'><INPUT TYPE=SUBMIT value='Pay Now'><br></td></tr> <tr> <td align='right'></td> <td align='left'> </td> </tr> </table> </form>
and here's the function method...which doesn't work any better...
Code:<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>Untitled Document</title> <script type="text/javascript"> var qty1, qty2, total1; var calculate = function() { function ids( elem, num ) { if ( num ) return (( document.getElementById ) ? parseFloat( document.getElementById( elem ).value ) : parseFloat( document.all[elem].value )); else return elem = (( document.getElementById ) ? document.getElementById(elem) : document.all[elem] ); } ids("num_concert").onchange = function() { qty1 = ids( this.id, true ); qty1 = ( qty1 <= 0 ) ? alert("Quantity should be => 0") : ids("total_concert").value = ( qty1 * ids("val1", true )); }; ids("num_reception").onchange = function() { qty2 = ids( this.id, true ); qty2 = ( qty2 <= 0 ) ? alert("Quantity should be => 0") : ids("total_reception").value = qty2 * ids("val2", true); }; ids("total_total").value = "$" + ((( ids("total_concert", true )) + ids("total_reception", true)); }; window.onkeypress = calculate; </script> </head> <body> <form method='Redirect' action= 'URL for payment processing site'> <table width="600" border="0" cellspacing="0" cellpadding="0"> <tr> <td colspan="4"><strong>Purchase tickets:</strong></td> </tr> <tr> <td width="32%">Tickets</td> <td width="17%"><div align="center">Number</div></td> <td width="20%"><div align="center">Price</div></td> <td width="150"><div align="center">Total</div></td> </tr> <tr> <td>Concert only</td> <td><input type="number" id="num_concert" name="num_concert" value="" size="15" /></td> <td><input type="hidden" id="val1" name="val1" value="25" />$25</td> <td><input type="text" id="total_concert" name="total_concert" value="0" size="15" /></td> </tr> <tr> <td>Concert plus reception</td> <td><div align="center">$75</div></td> <td><div align="center"><input type="text" name="num_reception" id="num_reception" size="15" value="0" /></div></td> <td><div align="center">=$ <input type="text" name="total_reception" id="total_reception" size="15" value="0" /></div></td> </tr> <tr> <td> </td> <td> </td> <td><div align="right"><strong>Total:</strong></div></td> <td><div align="center">=$ <input type="text" name="total_total" id="total_total" size="15" value="0" /></div></td> </tr> </table> <table cellSpacing='0' cellPadding='0' border='0'> <tr> <td align='right' width='300'></td> <td align='left' width='200'><input type='hidden' name='pg_api_login_id' value='xxx'/></td> </tr> <tr> <td align='right' width='300'><div align="left"><b>Total: </b></div></td> <td align='left' width='200'><input type='hidden' name='pg_total_amount'value='30' /><br></td></tr><tr><td align='right' width='300'></td><td align='left' width='200'><INPUT TYPE=SUBMIT value='Pay Now'><br></td></tr> <tr> <td align='right'></td> <td align='left'> </td> </tr> </table> </form> </body> </html>




Reply With Quote