Javascript problem...
Posted: Sun Mar 11, 2007 11:36 am
Hi,
I have a PHP page with submission form for collectiong billing information from the customer. When the customer selects his state of residence from a dropdown list, the page is refreshed and some tax calculation as performed. Im using the onChange event for dropdown list to call a JavaScript, which then checks which state is selected, updates a value for a hidden field in the form and reloads the page. The value of this hidden field is then used by php code in the form to calculate the tax.
Here is JavaScript code:
Everything so far is working great, but I have a problem. In order for the page to reloaded (to update the changed value of the hidden field), the form has to post to itself, as I understand it.
But after the form is filled with customer information, when the submit button is pressed, all information in the form should be validated (I have credit card validation script and required fields validation script included) and then the form should be posted to other php page, for inserting the customer information into database and sending the confirmation e-mail.
Questions:
I have a PHP page with submission form for collectiong billing information from the customer. When the customer selects his state of residence from a dropdown list, the page is refreshed and some tax calculation as performed. Im using the onChange event for dropdown list to call a JavaScript, which then checks which state is selected, updates a value for a hidden field in the form and reloads the page. The value of this hidden field is then used by php code in the form to calculate the tax.
Here is JavaScript code:
Code: Select all
<script type='text/javascript'>
function calculateTax()
{
state = ****.forms['checkoutform'].elements['billstate'];
var stateVal = state.options[state.selectedIndex].value;
if(stateVal == 'VT')
{
****.forms['checkoutform'].elements['tax'].value = 0.07;
}
****.forms['checkoutform'].submit();
}
</script>
Code: Select all
<form name="checkoutform" action="" method="post" onsubmit="return validateCard(this.cardnumber.value,this.cardType.value,this.cardmonth.value,this.cardyear.value);">
Code: Select all
<form name="checkoutform" action="confirmorder.php" method="post" onsubmit="return validateCard(this.cardnumber.value,this.cardType.value,this.cardmonth.value,this.cardyear.value);">
.
.
.
<input type="submit" value="Make Purchase" ****="MM_validateForm('namefull','','R','email','','RisEmail','phonework','','R','billaddress1','','R','billcity','','R','billzip','','R');return ****.MM_returnValue;"/>
Questions:
- How can I refresh the page/form and make some calculation when the dropdown list changes his value and at the same time to be able to submit the form to other php page?
- How to return the changed value of the hidden field from JavaScript, so the php code knows that some state is selected from the dropdown list and that it should run the tax calculation accordingly? And if this can be done without refreshing the page (or posting the form), my problem is solved. Thanks...