I have the following in my head:
<SCRIPT>
function submitFunction(i) {
if (i==1) {
alert('1');
document.sales_order_details.action="/sales/_order";
document.sales_order_details.submit()
}
if (i==2) {
alert('2');
document.sales_order_details.action="/sales/delete_order";
document.sales_order_details.submit()
}
}
</SCRIPT>
and the following in my body:
<form id="sales_order_details" action="/sales/delete_order" method="post">
<INPUT TYPE="button" VALUE="Edit Order" onClick="submitFunction(1)">
<INPUT TYPE="button" VALUE="Delete Order" onClick="submitFunction(2)">
</form>
The alert for '2' or '1' shows correctly but the form does not submit.
any advice.
Thanks
3 Answers 3
Try this in your javascript function instead:
function submitFunction(i) {
var form = document.getElementById('sales_order_details');
if (i == 1)
form.action = "/sales/_order";
else if (i == 2)
form.action = "/sales/delete_order";
form.submit();
}
Comments
You have accessed the java script object hierarchy wrongly. after document you should access form to get your code work see the following: And you should use name attribute in form tag to work this code.
<SCRIPT>
function submitFunction(i) {
if (i==1) {
alert('1');
document.form.sales_order_details.action="/sales/_order";
document.form.sales_order_details.submit()
}
if (i==2) {
alert('2');
document.form.sales_order_details.action="/sales/delete_order";
document.form.sales_order_details.submit()
}
}
</SCRIPT>
the html form:
<form name="sales_order_details" action="/sales/delete_order" method="post">
<INPUT TYPE="button" VALUE="Edit Order" onClick="submitFunction(1)">
<INPUT TYPE="button" VALUE="Delete Order" onClick="submitFunction(2)">
</form>
Or:
you could use the form index number to access the form object in javascript. like document.form[0].action
Comments
Change
document.sales_order_details.submit()
to
document.forms['sales_order_details'].submit();
and your form will submit correctly.
<form id=to<form name=, else you have to use document.getElementById()