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> |
All times are GMT -8. The time now is 08:57 AM. |
Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.