[ic] No check_tax with new state_select widget

Josh Lavin josh at myprivacy.ca
Wed Sep 19 15:33:22 EDT 2007


On Sep 18, 2007, at 5:50 PM, Dan Bergan wrote:

> On 9/18/07, Josh Lavin <josh at myprivacy.ca> wrote:
>> When using the new state_select widget to build the list of states on
>> Checkout, I've noticed that the check_tax routine to pop-up the
>> amount of tax is not included.
>>
>> This code:
>>    [display name=state type=state_select value="[value state]"]
>> offers no way to run "onChange=check_tax(this.form)", as did the old
>> stuff.
>>
>> I have hacked the country_select.widget on line 227 to include
>> check_tax:
>>
>> - var str = '<select name="$svar_in" onChange="$v_formv.$svar.value =
>> this.value">';
>> + var str = '<select name="$svar_in" onChange="$v_formv.$svar.value =
>> this.value;check_tax(this.form)">';
>>
>> But, the pop-up now appears when the either the shipping or billing
>> state is one of the taxed ones.
>>
>> Anybody have any ideas on how to get check_tax to run only with the
>> shipping state, with or without a hack?
>>
> Josh -
>
> I did something similar.  Instead of a pop-up, I just submit the form
> so the shipping and tax are updated.
>
> I hacked it just like you, but I passed in two parameters --
> country_submit_form
> state_submit_form
>
> [display name=country type=country_select2 value="[value country]"
> country_submit_form=1 state_submit_form=1]
>
> So, I can set to 1 or 0 to submit or not submit on either a state
> change or a country change.
>
> Around line 192:
> my $state_js = "";
> if ($opt->{state_submit_form}) {
> 	$state_js = "$v_formv.submit();"
> }
>
> Then, the same place you changed yours:
> var str = '<select name="$svar_in" onChange="$v_formv.$svar.value =
> this.value;$state_js">';
>
> (I then do the same thing for the country).
>
> I've been meaning to revisit this and clean it up, try to generalize
> it... just haven't had the time yet!
>
> Dan Bergan

Nice! Thanks for the tip!

--
Josh
Kingdom Design   http://www.kingdomdesign.com/




More information about the interchange-users mailing list