nebuchadnezzar
05-11-2003, 02:14 AM
Hi!
I'm doing a shopping cart for a University assignment, but I'm having some troubles with one of my functions. I have created a new window, 'order', which i have written a form to. This form asks for the name, address, delivery options and payment method, and then is submitted and returned to the orderForm function. (This function is located on the main page, in the 'trolley' frame... How would I access this too?)
My issue is, that when looking in the JavaScript debugger in Mozilla, I see this:
order.form has no properties
Here's the code for the function that generates the pop-up page with the form:
function order() {
order = window.concat("", "order", "width=600,height=500,toolbar=yes");
with (order.document) {
write("<html><title>Green Grocer Online Shopping Cart</title>");
write("<head><link href='styles.css' rel='stylesheet' type='text/css'></head>");
write("<body bgcolor=#FFFFFF><center>");
write("Please enter your information for delivery:");
write("<form action='' name='order'>");
write("<table width='400' border='0' cellspacing='0' cellpadding='0'>");
write("<tr><td>Name: </td><td><input name='name' type='text' value=''></input></td></tr>");
write("<tr><td>Address: </td><td><input name='address' type='text' value=''></input></td></tr>");
write("<tr><td>Payment Method: </td>");
write("<td><select name='paymentList' onChange='MM_jumpMenu('parent',this,0)'>");
write("<option>Visa</option>");
write("<option>Mastercard</option>");
write("<option>AMEX</option>");
write("<option>Money Order</option></td></tr>");
write("<tr><td>Delivery Method: </td>");
write("<td><select name='deliveryList' onChange='MM_jumpMenu('parent',this,0)'>");
write("<option>Metropolitan Sydney (Weekday) - $5.00</option>");
write("<option>Metropolitan Sydney (Weekend) - $7.00</option>");
write("<option>Greater Sydney (Weekday) - $6.00</option>");
write("</select></td></tr>");
write("</table>");
write("<input name='submit' type='submit' onClick='mainPage.frames.trolley.orderForm(deliveryType, deliveryPrice, name, address payMethod, order)'></form>");
}
var name = order.form.name.value;
var address = order.form.address.value;
var delivery = order.form.deliveryList.selectedIndex;
var payment = order.form.paymentList.selectedIndex;
switch (delivery) {
case 0 :
deliveryType = "Metropolitan Sydney (Weekday)";
deliveryPrice = 5;
break
case 1 :
deliveryType = "Metropolitan Sydney (Weekend)";
deliveryPrice = 7;
break
case 2 :
deliveryType = "Greater Sydney (Weekday)";
deliveryPrice = 6;
break
}
switch (payment) {
case 0 :
payMethod = "Visa";
break
case 1 :
payMethod = "Mastercard";
break
case 2 :
payMethod = "AMEX";
break
case 3 :
payMethod = "Money Order";
break
}
}
Can anyone enlighten me as to why it's not working? I'm not quite sure how to reference that new page...
Any help would be greatly, greatly appreciated!
Thanks!
I'm doing a shopping cart for a University assignment, but I'm having some troubles with one of my functions. I have created a new window, 'order', which i have written a form to. This form asks for the name, address, delivery options and payment method, and then is submitted and returned to the orderForm function. (This function is located on the main page, in the 'trolley' frame... How would I access this too?)
My issue is, that when looking in the JavaScript debugger in Mozilla, I see this:
order.form has no properties
Here's the code for the function that generates the pop-up page with the form:
function order() {
order = window.concat("", "order", "width=600,height=500,toolbar=yes");
with (order.document) {
write("<html><title>Green Grocer Online Shopping Cart</title>");
write("<head><link href='styles.css' rel='stylesheet' type='text/css'></head>");
write("<body bgcolor=#FFFFFF><center>");
write("Please enter your information for delivery:");
write("<form action='' name='order'>");
write("<table width='400' border='0' cellspacing='0' cellpadding='0'>");
write("<tr><td>Name: </td><td><input name='name' type='text' value=''></input></td></tr>");
write("<tr><td>Address: </td><td><input name='address' type='text' value=''></input></td></tr>");
write("<tr><td>Payment Method: </td>");
write("<td><select name='paymentList' onChange='MM_jumpMenu('parent',this,0)'>");
write("<option>Visa</option>");
write("<option>Mastercard</option>");
write("<option>AMEX</option>");
write("<option>Money Order</option></td></tr>");
write("<tr><td>Delivery Method: </td>");
write("<td><select name='deliveryList' onChange='MM_jumpMenu('parent',this,0)'>");
write("<option>Metropolitan Sydney (Weekday) - $5.00</option>");
write("<option>Metropolitan Sydney (Weekend) - $7.00</option>");
write("<option>Greater Sydney (Weekday) - $6.00</option>");
write("</select></td></tr>");
write("</table>");
write("<input name='submit' type='submit' onClick='mainPage.frames.trolley.orderForm(deliveryType, deliveryPrice, name, address payMethod, order)'></form>");
}
var name = order.form.name.value;
var address = order.form.address.value;
var delivery = order.form.deliveryList.selectedIndex;
var payment = order.form.paymentList.selectedIndex;
switch (delivery) {
case 0 :
deliveryType = "Metropolitan Sydney (Weekday)";
deliveryPrice = 5;
break
case 1 :
deliveryType = "Metropolitan Sydney (Weekend)";
deliveryPrice = 7;
break
case 2 :
deliveryType = "Greater Sydney (Weekday)";
deliveryPrice = 6;
break
}
switch (payment) {
case 0 :
payMethod = "Visa";
break
case 1 :
payMethod = "Mastercard";
break
case 2 :
payMethod = "AMEX";
break
case 3 :
payMethod = "Money Order";
break
}
}
Can anyone enlighten me as to why it's not working? I'm not quite sure how to reference that new page...
Any help would be greatly, greatly appreciated!
Thanks!