[thelist] accessing globla JS array from function

Brian Cummiskey brian at hondaswap.com
Sat Jul 7 22:55:14 CDT 2007


Matt Warden wrote:
> On 7/7/07, Brian Cummiskey <brian at hondaswap.com> wrote:
>   
>> unfortunately, this is giving me "F" and "U"
>>     
>
> Brian, your code is trying to tell you something!
>   
lol

> This is going to be a mess! I strongly suggest you do not go down this
> path (although it unfortunately seems like you have already done some
> work). You are fixing a data problem with application code, and
> JavaScript at that!
>   
You're absolutely right that its a mess.  I inherited this project less 
than a week ago, and this client was supposed to launch this past 
Friday.  The other developer who was working on it gave up and passed 
the buck up a level to me.  On top of the fact that the site is riddled 
with tables, useless spans everywhere, javascript-only menus, and so on, 
the back end is a disaster to boot.


Perhaps i should start over outlining the whole issue.  So, here we go.


We have a DB table in our system which holds style information up to 3 
levels of style per sku (as limited by the 3rd party system).  This 
table is synced to a 3rd party system every hour, thus, i can't alter 
the table in any way.
The 2 i'm working with are sizes and colors.  The 5 fields that matter 
to me for this part are:

sku
L2CODE
L1CODE
L2DESC
L1DESC

code holds the codeid and desc holds the text description 
(sm => Small  or FU=> Fuschia)
L1 is color
L2 is size

sku is joined to the inventory table to relate to the product.


The way our system is set up (and i have no control over) is that the 
items that display are "fake".
ie, sku 123456
sku 123456 is NOT an orderable item, as it has no style associated with 
it (you can't order a pair of pants without a size and a color) and does 
NOT exist in our inventory table.

On the product display page, the REAL sku needs to be generated by the 
style options and then adds that valid orderable sku to the cart, along 
the likes of SKU COLORCODE SIZECODE;  or,  "123456 FU SM" as we do a 
split on spaces.

In order to generate this sku, I need to provide the user select options 
to create the desired product sku and add that sku to their cart, but 
ONLY if it exists.

The problem is that not all colors are available in all sizes.
Thus, I need to dynamically allow for generated dropdowns for the size 
based on the color choice so that people can't order invalid sku's.

A good example of what i'm trying to pull off can be found at the old 
navy store
http://www.oldnavy.com/browse/product.do?cid=15318&pid=313127&scid=313127002
on this product, the 29" waits is only available in 30" length

on the main product page, you can see the sku:  #313127

if you select an orderable size and length, then add it to your bag, and 
then view your bag, you will see it has rendered the correct orderable sku:
#3131270023628
(I chose 36x28)


This is exactly what i need to mimic, but instead of waist and inseam, i 
have colors and sizes, thus they don't order nicely for display 
purposes.  I am firstly concerned with creating a valid sku, and making 
it look pretty/in order second.


Now, on top of all this, They have swatches for the colors, and when 
clicking the swatch, the product image changes to the selected color, 
and the drop down gets pre-selected to that choice for the color.  This 
is all built already.
The only issue i'm running into is that when a swath is clicked, i no 
longer have the onchange method attached to the select box, as JS alters 
the selectedIndex of the options.  So i need to add a secondary function 
in there for when the swatch is clicked to also call the size options 
method.

90% of the site requires javascript to function in the first place (hey, 
i didn't code it... the client did) so i'm not too worried about relying 
on it (as they probably won't even get to this point in the store 
without it on anyway).  I'm well versed  in unobtrusive methods, but at 
this point, it's really not worth my time and i just need to get it 
done.... even if it only supports 90% of users.  (i can see a thread 
forming about this already.... but at the end of the day, the client is 
already past their setup fees, and I'm pretty much working for free at 
this point)  The target audience for the store probably don't even know 
how to turn it off anyway.



So, with all that said.....


I have no idea what i'm doing :)




I've attacked this 3 different ways already, and none are working to the 
desired effect.









More information about the thelist mailing list