Outstanding! I think they call this "collaboration". :D
Supposedly, the default of VALUE is the content of the OPTION, which must be why it wasn't coded your way in the first place. It must be that some browsers (IE?) don't honor this default. I did my testing with Mozilla, so I didn't see the problem. I'm sort of glad that I didn't; it might have discouraged me from implementing my mod. I tried without your fix on IE, and it gave me the same problem you saw. So I applied your fix, and all is well now. By the way, you said "register_billing_info.tpl" and "register_shipping_info.tpl" - I think you meant "register_billing_address.tpl" and "register_shipping_address.tpl" . I knew what you meant, but conceivably someone out there might not. Griff |
This is a revision of the code I posted in this thread on May 18th, 2005. It addresses two problems with the original code:
1) An onBlur event isnБ─≥t executed under every circumstance (using the enter key instead of selecting the formБ─≥s submit button). So this has been removed and the data is now moved by the check_registerform_fields() function. 2) If the user has disabled javascript, the b_firstname and b_lastname fields remain empty the first time the form is submitted. This causes an error message that the user canБ─≥t correct because the fields are hidden. If the form is submitted again it will work because the fields contain firstname and lastname data that are now in the database from the first submission. So, now I only hide the fields when the javascript option is enabled. People that don't use javascript will have to do some extra typing. Note: This still doesn't address the scenario of javascript being disabled and the user hasn't selected the Б─°If Javascript is disabled in your browser click hereБ─² option. They would still get an error message, but nothing would indicate what the problem is. Good enough for my purposes, but there is still room for improvement. This is the code IБ─≥m currently using: Step 1: General Settings : User Profile options Set "First Name" and "Last Name" to Active and Required. Step 2: Apply this patch, http://forum.x-cart.com/download.php?id=9 which allows the ship to names to be left blank. Shoppers will see a message: Shipping Address (leave empty if same as billing address). The patch changes only a few lines in two files. The "-" (minus sign) indicates the code that is removed, and the "+" (plus sign) indicates the code that replaces it. Step 3: Hide the billing names if javascript is enabled by changing main/register_billing_address.tpl starting at about line 28 from: Code:
{if $default_fields.firstname.avail eq 'Y'} To: Code:
{if $default_fields.firstname.avail eq 'Y'} Step 4: Add a four (lines end with a semi colon) lines to the check_registerform_fields() function in customer/main/register.tpl: Original function: Code:
<SCRIPT type="text/javascript" language="JavaScript 1.2"> Revised function: Code:
<SCRIPT type="text/javascript" language="JavaScript 1.2"> |
Quote:
This works perfectly for me on X-Cart 4.0.13 Gold. Quick and easy changes. Thanks r.jones! |
GriffithLea and polkadot...
both your posts were very educational and helpful. I've implemented the code and it worked perfectly. Thanks. |
cashopoly - do you have the steps you followed?
Cashopoly-
Do you have a list of steps you followed to make this work correctly? I tried without success. Thanks |
I would like to personally thank all of you who have put in the time and commitment to make this work very well.
I have used Phil's original copybilling setup, in tandem with r. jones copy personal info to billing to create exactly what I want in XCART v. 4.0.13: Personal info copies over to billing info. Input button in bottom of billing info copies all billing data to shipping if wanted. States selection works great. Again, thanks very much to all of you who have contributed to this modification. Todd |
Hello,
I was reading all the post and trying all of your ideas but I am having trouble putting everything together. Can someone be kind enough to help me out with steps, on what to do? Thanks |
Great work by all who have contributed to this. It's made for a nice enhancement that should be part of the cart out of the box.
Note that the patch mentioned in step 2 above is already in place in 4.0.14, so it should only be necessary pre-14. I made a slight change to which fields are copied and when. When the fields are copied from billing to shipping I copy the title and name from billing instead of from the name section. This seems to make more sense to me. I also copied the copybilling function so it can also be used on the regular registration screen (the latest steps here seem to be setup for the anonymous checkout registration form). The modified function simply excludes the copying of title and name. So I use the following in main/register_shipping_address.tpl Code:
{if $action ne "cart"} Code:
function InitSaveVariables_shipping(form) { Code:
s_title = form.s_title.value Code:
form.s_title.value = form.b_title.value Code:
form.s_title.value = s_title Code:
s_title = form.s_title.selectedIndex Code:
form.s_title.selectedIndex = form.b_title.selectedIndex Code:
form.s_title.selectedIndex = s_title |
Having trouble with the code posted by GriffithLea
I believe I've implemented it "by the book", but I get the Java Script error "Object expected" on this line: Code:
<input type="checkbox" name="copyn" onclick="javascript:copynames(this.form);">Use and this line: Code:
<input type="checkbox" name="copyb" onclick="javascript:copybilling(this.form);">Use Any help solving this would be appreciated! TIA |
Verify those two input lines are inside a form. See if your form has a name. Verify you included the script blocks in home.tpl:
Code:
<script language=JavaScript1.3 src="{$SkinDir}/copybilling.js"></script> |
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. |
Quote:
Code:
<script language=JavaScript1.3 src="{$SkinDir}/copybilling.js"></script> |
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
|
Quote:
|
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> add in Code:
<script language=JavaScript1.3 src="{$SkinDir}/copybilling.js"></script> {* end edit *} Thank you VERY much for your help in tracking this down. You may have just saved my sanity! :D |
it seems that people would have got errors with this if they had this setting unchecked
Quote:
anyone come up with anything for this ? |
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. |
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) { copybilling.js Code:
function InitSaveVariables_shipping(form) { 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!! |
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) { Then I used the following in main/register_shipping_address: Code:
{* ======== COPY BILLING TO SHIPPING MOD ======= *} {if $js_enabled} And I use the following in main/register_billing_address.tpl: Code:
{* ======== COPY NAMES TO BILLING MOD ======= *} |
hack disables email fields?
I'm not certain that this mod has changed this, but now my email registration notification only shows:
Quote:
When it should also be showing address, contact info, etc. Did some inane variable get changed with this mod?? Thanks! |
has anyone figured out how to get this mod to work with additional fields in billing/shipping info?
|
Quote:
|
im trying to include additional fields in the copy
|
Quote:
Code:
// get additional fields by their id Code:
// values from numbered form elements Code:
<INPUT type="text" name="additional_values[2]" id="additional_values_2" size="32"> |
Quote:
thank you, i dont know why i didnt think of that |
so this is what i ended up with in copybilling.js
Code:
function InitSaveVariables_shipping(form){ |
I successfully implemented this in a 4.0.14 store that I did. But I am now doing another store, and it's in 4.0.17. I wasn't able to simply copy the same stuff over and get everything to work correctly. Having the name copied to the billing part works fine, but when I check the box to move the billing fields into the shipping fields, I get an error. It unfortunately doesn't give me much to go on, on where to troubleshoot.
So, has anyone successfully get this to work in v4.0.17 ? Or, I guess more importantly, what has changed between versions that I might be able to rework this myself? ***EDIT*** I went back into my store with Friefox and enabled the Javascript Console. It gives me a detailed error message now: Error: document.getElementById("_s_state") has no properties Source File: http://www.xxxxxxxxx.com/skin1/copybilling.js Line: 10 In the copybilling.js file, this is line 10: _s_state = document.getElementById('_s_state').value; I have copied and pasted the javascript I am using from redlime's example. Thanks! Brian |
Has anyone tried to get this working with the County field? Country works fine, but County is giving me problems. Not sure what to do.
|
This mod rocks :)
Also can do a onblur if needed. I didn't want a check box so I removed the checkbox and ran a little onblur js function to copy each field as the user enters it...Probably not useful for most stores, but very much needed for mine :) |
Hello, I tried to sort thru all the snippets of code to try to get this working for x-cart gold v4.0.18 but no luck.
Can somebody who's using this mod on v4.0.18 help on what needs to be done and where? Thank You. |
I as well am very interested in an update on 4.0.18? Anyone got this working?
Thanks |
Quote:
|
I got the following to work in 4.0.18, and I am using the exCheckout Mod, however it only works during the checkout part, and not the "register" part, I read and reread all the posts but I am at a lose as to how to make this work there as well?
Any ideas? Thanks a lot Quote:
|
Quote:
|
Hmm. There are numerous it seems there are about 20-30 "unknown properties" is that right? Hmm.... I am not to familiar with this console, can you point me in the right direction.. THanks so much!
|
Quote:
|
i've read through the posts for this mod, it seems folks are still having errors when trying to apply this to 4.0.18, without the ez checkout mod. are the problems occurring only for visitors with macs?
i was about to go through this mod, but since we sell lots of items that are specific to the macs, it would seem like a bad idea. are there any other options to reduce the triple name entry? thanks! |
Re: check box for "same as billing address"
does anybody got it successfully working on 4.0.18 with jons easy checkout?
i need it to work with ez checkout and on ie, safari, mozilla, firefox, netscape. id be happy to test urs also. |
Re: check box for "same as billing address"
Quote:
I have this working now with Jon's Easy Checkout, my version is 4.0.17, I used the post by taltos1 for insrtuctions, but amended the copybilling2.js as Firefox was not copying the details across from the standard register page, it was ok in the checkout. copybilling2.js Code:
function InitSaveVariables_shipping(form){ |
Re: check box for "same as billing address"
I used this with taltos1's instructions except for copybilling2.js, which was provided from dfawdon above. I own a mac & it is working wonderfully for me! I just wanted to let anyone who might be holding off due to the previous mac issue know.
|
All times are GMT -8. The time now is 01:53 PM. |
Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.