X-Cart: shopping cart software

X-Cart forums (https://forum.x-cart.com/index.php)
-   Dev Questions (https://forum.x-cart.com/forumdisplay.php?f=20)
-   -   check box for "same as billing address" (https://forum.x-cart.com/showthread.php?t=9160)

HWT 08-20-2005 08:29 AM

cherie,

Thank you for your reply.

The two imput lines are inside a form.
Form Name: name="registerform"
Verified the script blocks in home.tpl
Verified that the js files exist in skin1

This is what show up on the line in the source that is throwing the 1st error:

Code:

<input type="checkbox" name="copyn" onclick="javascript:copynames(this.form);">Use Customer Details in Billing Address



and here is the line that throws the 2nd error:

Code:

<input type="checkbox" name="copyb" onclick="javascript:copybilling(this.form);">Use Billing Address as Shipping Address



Unfortunatley, I'm a little too much of a noob to js to get what your referring to as "script blocks", but I hope the above information answers your post completely. Unfortunately, no resolution yet.

Thanks again.

cherie 08-20-2005 08:39 AM

Quote:

Originally Posted by HWT
Verified the script blocks in home.tpl

Unfortunatley, I'm a little too much of a noob to js to get what your referring to as "script blocks"

When you view the page source for the page that has the errors (using your browser's View Source option), do you see the following script blocks?
Code:

<script language=JavaScript1.3 src="{$SkinDir}/copybilling.js"></script>
<script language=JavaScript1.3 src="{$SkinDir}/copynames.js"></script>

In place of $SkinDir you might see /xcart/skin1... Can you then load that path in your browser location and see the contents of the js file? Just trying to make sure the Javascript functions in those files are available.

HWT 08-20-2005 08:56 AM

Gottcha! OK, I think we're getting somewhere here. The script blocks are not showing up in the <HEAD> tags. Funny, because I have one other js that is showing up there. The js is accessible from /skin1/copybilling.js

cherie 08-20-2005 09:08 AM

Quote:

Originally Posted by HWT
Gottcha! OK, I think we're getting somewhere here. The script blocks are not showing up in the <HEAD> tags. Funny, because I have one other js that is showing up there. The js is accessible from www.heritagetoys.com/skin1/copybilling.js

That appears to be the problem. If you added those script blocks to home.tpl, maybe you aren't using home.tpl? You'll need to sort that part out yourself. The idea is that you want to put those script blocks in a main tpl so it can be referenced by your checkboxes. Are you really using your cart at the root level (/) and not a cart directory (i.e., /xcart)? It's fine to do that, just verifying since you mentioned /skin1 and not /xcart/skin1.

HWT 08-20-2005 09:15 AM

Those two script blocks do show up on pages that don't use them like the home page. I'm using easy checkout. So I'm sure that's the issue. This page is probably not using home.tpl.

Yes, I have the cart installed at the root level. A lot of posts I read suggested it. This is the most succinct: http://forum.x-cart.com/viewtopic.php?t=21581&highlight=root

{* edit *}
For anyone using Jon's Easy Checkout Mod, add the code below to customer/home_checkout.tpl instead of customer/home.tpl when using GriffithLea's mod:

right below
Code:

</TITLE>
{ include file="meta.tpl" }
<LINK rel="stylesheet" href="{$SkinDir}/{#CSSFile#}">



add in
Code:

<script language=JavaScript1.3 src="{$SkinDir}/copybilling.js"></script>
<script language=JavaScript1.3 src="{$SkinDir}/copynames.js"></script>


{* end edit *}

Thank you VERY much for your help in tracking this down. You may have just saved my sanity! :D

shan 11-29-2005 09:21 AM

it seems that people would have got errors with this if they had this setting unchecked

Quote:

Use JavaScript version for state and country selector:

anyone come up with anything for this ?

cotc2001 11-29-2005 09:47 AM

just an idea for the checkbox if shipping address different - wouldnt it be a good idea that the checkbox and option to send to seperate shipping address be good if it could be controlled by country.

i.e i'd be happy to send to a different address in the UK but doing that to somewhere like singapore would be a big no no.

At least in the UK i could send the boys round if it was fraud.

HWT 12-03-2005 05:22 AM

Recently I've gotten a huge number of calls from customers using Macintosh computers who can't change the state dropdown menu, and can't change the expiration date dropdowns during checkout. I've tracked it down to this mod being the possible culprit. Has anyone else been having this issue?

I did modify copynames.js and copybilling.js very slightly to not use the title, as we don't use it in our store:

copynames.js
Code:

function InitSaveVariables_names(form) {
  b_firstname = form.b_firstname.value;
  b_lastname  = form.b_lastname.value;
}

function copynames(form){
  if (form.copyn.checked){
    InitSaveVariables_names(form);
    form.b_firstname.value = form.firstname.value;
    form.b_lastname.value  = form.lastname.value;
  } else {
    form.b_firstname.value = b_firstname;
    form.b_lastname.value  = b_lastname;
  }
}


copybilling.js
Code:

function InitSaveVariables_shipping(form) {
  s_firstname = form.s_firstname.value;
  s_lastname = form.s_lastname.value;
  s_address = form.s_address.value;
  s_address_2 = form.s_address_2.value;
  s_city = form.s_city.value;
  s_state = form.s_state.value;
  _s_state = document.getElementById('_s_state').value;
  s_country = form.s_country.value;
  s_zipcode = form.s_zipcode.value;
}

function copybilling(form) {
  if (form.copyb.checked){
    InitSaveVariables_shipping(form);
    form.s_firstname.value = form.firstname.value;
    form.s_lastname.value = form.lastname.value;
    form.s_address.value = form.b_address.value;
    form.s_address_2.value = form.b_address_2.value;
    form.s_city.value = form.b_city.value;
    change_states(document.getElementById('s_country'), 's_state', 'State/Province', '', '', '', '');
    form.s_state.value = form.b_state.value;
    document.getElementById('_s_state').value = document.getElementById('_b_state').value;
    form.s_country.value = form.b_country.value;
    form.s_zipcode.value = form.b_zipcode.value;
  } else {
    form.s_firstname.value = s_firstname;
    form.s_lastname.value = s_lastname;
    form.s_address.value = s_address;
    form.s_address_2.value = s_address_2;
    form.s_city.value = s_city;
    change_states(document.getElementById('s_country'), 's_state', 'State/Province', '', '', '', '');
    form.s_state.value = s_state;
    document.getElementById('_s_state').value = _s_state;
    form.s_country.value = s_country;
    form.s_zipcode.value = s_zipcode;
  }
}


I'm pretty sure that's not the issue, though. Anybody see anything in here that could cause a Mac to choke? I know nothing about Macs unfortunately, and have no way of testing either. :(

Any help would be appreciated. Thanks!!

cherie 12-03-2005 11:37 AM

Since x-cart uses different registration forms whether the customer is in the cart or not, copybilling.js needs to account for the differences.

This is what I ended up using for copybilling.js:
Code:

function InitSaveVariables_shippingC(form) {
  //s_title = form.s_title.value;
  s_title = form.s_title.selectedIndex
  s_firstname = form.s_firstname.value;
  s_lastname = form.s_lastname.value;
  s_address = form.s_address.value;
  s_address_2 = form.s_address_2.value;
  s_city = form.s_city.value;
  s_state = form.s_state.value;
  _s_state = document.getElementById('_s_state').value;
  s_country = form.s_country.value;
  s_zipcode = form.s_zipcode.value;
}

function InitSaveVariables_shipping(form) {
  s_address = form.s_address.value;
  s_address_2 = form.s_address_2.value;
  s_city = form.s_city.value;
  s_state = form.s_state.value;
  _s_state = document.getElementById('_s_state').value;
  s_country = form.s_country.value;
  s_zipcode = form.s_zipcode.value;
}

function copybillingC(form) {
  if (form.copyb.checked) {
    InitSaveVariables_shippingC(form);
    //form.s_title.value = form.b_title.value;
    form.s_title.selectedIndex = form.b_title.selectedIndex
    form.s_firstname.value = form.b_firstname.value;
    form.s_lastname.value = form.b_lastname.value;
    form.s_address.value = form.b_address.value;
    form.s_address_2.value = form.b_address_2.value;
    form.s_city.value = form.b_city.value;
    change_states(document.getElementById('s_country'), 's_state', 'State/Province', '', '', '', '');
    form.s_state.value = form.b_state.value;
    document.getElementById('_s_state').value = document.getElementById('_b_state').value;
    form.s_country.value = form.b_country.value;
    form.s_zipcode.value = form.b_zipcode.value;
  } else {
    //form.s_title.value = s_title;
    form.s_title.selectedIndex = s_title;
    form.s_firstname.value = s_firstname;
    form.s_lastname.value = s_lastname;
    form.s_address.value = s_address;
    form.s_address_2.value = s_address_2;
    form.s_city.value = s_city;
    change_states(document.getElementById('s_country'), 's_state', 'State/Province', '', '', '', '');
    form.s_state.value = s_state;
    document.getElementById('_s_state').value = _s_state;
    form.s_country.value = s_country;
    form.s_zipcode.value = s_zipcode;
  }
}

function copybilling(form) {
  if (form.copyb.checked) {
    InitSaveVariables_shipping(form);
    form.s_address.value = form.b_address.value;
    form.s_address_2.value = form.b_address_2.value;
    form.s_city.value = form.b_city.value;
    change_states(document.getElementById('s_country'), 's_state', 'State/Province', '', '', '', '');
    form.s_state.value = form.b_state.value;
    document.getElementById('_s_state').value = document.getElementById('_b_state').value;
    form.s_country.value = form.b_country.value;
    form.s_zipcode.value = form.b_zipcode.value;
  } else {
    form.s_address.value = s_address;
    form.s_address_2.value = s_address_2;
    form.s_city.value = s_city;
    change_states(document.getElementById('s_country'), 's_state', 'State/Province', '', '', '', '');
    form.s_state.value = s_state;
    document.getElementById('_s_state').value = _s_state;
    form.s_country.value = s_country;
    form.s_zipcode.value = s_zipcode;
  }
}


Then I used the following in main/register_shipping_address:
Code:

{* ======== COPY BILLING TO SHIPPING MOD ======= *} {if $js_enabled}
<TR>
<TD align="right"></TD>
<TD></TD>
<TD nowrap><input type="checkbox" name="copyb" onclick="copybilling(this.form);">Use {$lng.lbl_billing_address} as {$lng.lbl_shipping_address}


</TD>
</TR>
{/if}
{* ======== COPY BILLING TO SHIPPING MOD ======= *}

{elseif $action eq "cart"}

{* ======== COPY BILLING TO SHIPPING MOD ======= *}
{if $js_enabled}
<TR>
<TD align="right"></TD>
<TD></TD>
<TD nowrap>
<input type="checkbox" name="copyb" onclick="copybillingC(this.form);">Use {$lng.lbl_billing_address} as {$lng.lbl_shipping_address}


</TD>
</TR>
{/if}
{* ======== COPY BILLING TO SHIPPING MOD ======= *}


And I use the following in main/register_billing_address.tpl:
Code:

{* ======== COPY NAMES TO BILLING MOD ======= *}
{if $js_enabled}
<TR>
<TD align="right"></TD>
<TD></TD>
<TD nowrap>
<input type="checkbox" name="copyn" onclick="copynames(this.form);">Use {$lng.lbl_personal_information} in {$lng.lbl_billing_address}


</TD>
</TR>
{/if}
{* ======== COPY NAMES TO BILLING MOD ======= *}


ortonceramic 12-07-2005 06:28 AM

hack disables email fields?
 
I'm not certain that this mod has changed this, but now my email registration notification only shows:

Quote:

Personal information
Username: test1
Password: ****
First Name: Test
Last Name: Tested!
Company: Test, Inc.



When it should also be showing address, contact info, etc. Did some inane variable get changed with this mod??

Thanks!


All times are GMT -8. The time now is 07:07 PM.

Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.