/    Sign up×
Community /Pin to ProfileBookmark

Form Works, Script Doesn’t

I have read some basic tutorials on JavaScript but have very little experience using it. I had hoped to confine my use to copying forms and scripts that already exist, but I have need for something more complex.

I have a form that displays correctly. The code I am using, is…

<html><head><title>UPC Decoder</title></head>

<body>

<form onSubmit=”document.forms[0].elements[1].value=document.forms[0].elements[0].value/6; return false;”>

Enter UPC here <input size=”12″ value=””> Child Offer is <input size=”20″>.<p>

<input type=”submit” value=”Click Here for the Offer #”>

</form>

<p>

</body>

</html>

What I need to happen is for a user to submit a 12-digit UPC which would be matched against an “Offer Number.” The offer numbers work as follows:

if (UPC == “839803001057”){var_b=(“Offer Number 1”)}&
if (UPC == ” 850902000307″){var_b=(“Offer Number 2”)}&
if (UPC == “88064323044”){var_b= (“Offer Number 3”)}&
if (UPC == “88064321347”){var_b= (“Offer Number 4”)}&
if (UPC == “88064362647”){var_b= (“Offer Number 5”)}&
if (UPC == “88064325024”){var_b= (“Offer Number 6”)}&
if (UPC == “88064325727”){var_b= (“Offer Number 7”)}&
if (UPC == “88064325826”){var_b= (“Offer Number 8”)}&
if (UPC == “88064365839”){var_b= (“Offer Number 9”)}&
if (UPC == “88064396024”){var_b= (“Offer Number 10”)}&
if (UPC == “53991003338”){var_b= (“Offer Number 11”)}&
if (UPC == “53991003321”){var_b= (“Offer Number 12”)}&
if (UPC == “12502607595”){var_b= (“Offer Number 13”)}&
if (UPC == “12502526575”){var_b= (“Offer Number 13”)}&
if (UPC == “12502600022”){var_b= (“Offer Number 14”)}&
if (UPC == “740853911053”){var_b= (“Offer Number 15”)}&
if (UPC == “740853911817”){var_b= (“Offer Number 16”)}&
if (UPC == “740853911893”){var_b= (“Offer Number 17”)}&
if (UPC == “740853911015”){var_b= (“Offer Number 18”)}&
if (UPC == “074000033191”){var_b= (“Offer Number 19”)}&
if (UPC == “833273005003”){var_b= (“Offer Number 20”)}&
if (UPC == “18359180366”){var_b= (“Offer Number 21”)}&
if (UPC == “77511902116”){var_b= (“Offer Number 22”)}&
if (UPC == “21200525674”){var_b= (“Offer Number 23”)}&
if (UPC == “785414104734”){var_b= (“Offer Number 24”)}&
if (UPC == “722868410899”){var_b= (“Offer Number 25 OR Offer Number 48. Please verify dates of offer.”)}&
if (UPC == “21200505393”){var_b= (“Offer Number 27”)}&
if (UPC == “718037104362”){var_b= (“Offer Number 28”)}&
if (UPC == “805529058699”)}{var_b= (“Offer Number 29 OR Offer Number 39. Please verify dates of offer.”)}&
if (UPC == “637668048114”)}{var_b= (“Offer Number 30”)}&
if (UPC == “637668735571”)}{var_b= (“Offer Number 31”)}&
if (UPC == “021986951155”)}{var_b= (“Offer Number 32”)}&
if (UPC == “37988809424”)}{var_b= (“Offer Number 33”)}&
if (UPC == “734646680004”)}{var_b= (“Offer Number 34 OR Offer Number 44. Please verify dates of offer.”)}&
if (UPC == “718037104287”)}{var_b= (“Offer Number 35”)}&
if (UPC == “637668622208”)}{var_b= (“Offer Number 36”)}&
if (UPC == “77511997686”)}{var_b= (“Offer Number 37”)}&
if (UPC == “77511991486”)}{var_b= (“Offer Number 38”)}&
if (UPC == “805529346048”)}{var_b= (“Offer Number 40”)}&
if (UPC == “805529291836”)}{var_b= (“Offer Number 41”)}&
if (UPC == “805529291799”)}{var_b= (“Offer Number 42”)}&
if (UPC == “077511907739”)}{var_b= (“Offer Number 43”)}&
if (UPC == “718037103495”)}{var_b= (“Offer Number 45”)}&
if (UPC == “650590106400”)}{var_b= (“Offer Number 46”)}&
if (UPC == “740617067934”)}{var_b= (“Offer Number 47”)};

I know that script is not correct. I need help fixing it so that the appropriate offer will be returned if the UPC that is entered matches. If there is no match, it can say no match. (Do I need to define that?)

Also, when I add the script I wrote into my form, the form stops displaying.

I know this is a lot to ask, but can anyone combine these two pieces into something that works. If you provide me a working script, I will be able to understand how it works and why mine did not. (I think there is a function that needs to be defined; I’m not sure if the & signs are needed; I don’t know how to tell it what to return if there is no match. I must be misplacing something when I merge the two items, because even if the script does not run, it should not make my form disappear.

I have nothing to offer except my undying gratitude FOR LIFE. This would be a very helpful tool for me to be able to “develop.”

[code=php]

to post a comment
JavaScript

5 Comments(s)

Copy linkTweet thisAlerts:
@AdamBrillJan 16.2004 — Something along the lines of this?&lt;html&gt;
&lt;head&gt;
&lt;title&gt;UPC Decoder&lt;/title&gt;
&lt;script type="text/javascript"&gt;
function get_offer(upc){
switch(upc){
case "839803001057":
value = "Offer Number 1";
break;
case "850902000307":
value = "Offer Number 2";
break;
case "88064323044":
value = "Offer Number 3";
break;
case "88064321347":
value = "Offer Number 4";
break;
case "88064362647":
value = "Offer Number 5";
break;
case "88064325024":
value = "Offer Number 6";
break;
case "88064325727":
value = "Offer Number 7";
break;
case "88064325826":
value = "Offer Number 8";
break;
case "88064365839":
value = "Offer Number 9";
break;
case "88064396024":
value = "Offer Number 10";
break;
case "53991003338":
value = "Offer Number 11";
break;
case "53991003321":
value = "Offer Number 12";
break;
case "12502607595":
value = "Offer Number 13";
break;
case "12502526575":
value = "Offer Number 13";
break;
case "12502600022":
value = "Offer Number 14";
break;
case "740853911053":
value = "Offer Number 15";
break;
case "740853911817":
value = "Offer Number 16";
break;
case "740853911893":
value = "Offer Number 17";
break;
case "740853911015":
value = "Offer Number 18";
break
case "074000033191":
value = "Offer Number 19";
break;
case "833273005003":
value = "Offer Number 20";
break;
case "18359180366":
value = "Offer Number 21";
break;
case "77511902116":
value = "Offer Number 22";
break;
case "21200525674":
value = "Offer Number 23";
break;
case "785414104734":
value = "Offer Number 24";
break;
case "722868410899":
value = "Offer Number 25 OR Offer Number 48. Please verify dates of offer.";
break;
case "21200505393":
value = "Offer Number 27";
break;
case "718037104362":
value = "Offer Number 28";
break;
case "805529058699":
value = "Offer Number 29 OR Offer Number 39. Please verify dates of offer.";
break;
case "637668048114":
value = "Offer Number 30";
break;
case "637668735571":
value = "Offer Number 31";
break;
case "021986951155":
value = "Offer Number 32";
break;
case "37988809424":
value = "Offer Number 33";
break;
case "734646680004":
value = "Offer Number 34 OR Offer Number 44. Please verify dates of offer.";
break;
case "718037104287":
value = "Offer Number 35";
break;
case "637668622208":
value = "Offer Number 36";
break;
case "77511997686":
value = "Offer Number 37";
break;
case "77511991486":
value = "Offer Number 38";
break;
case "805529346048":
value = "Offer Number 40";
break;
case "805529291836":
value = "Offer Number 41";
break;
case "805529291799":
value = "Offer Number 42";
break;
case "077511907739":
value = "Offer Number 43";
break;
case "718037103495":
value = "Offer Number 45";
break;
case "650590106400":
value = "Offer Number 46";
break;
case "740617067934":
value = "Offer Number 47";
break;
default:
value = "No Match";
break;
}
return value;
}
&lt;/script&gt;
&lt;/head&gt;

&lt;body&gt;

&lt;form name="form1" onSubmit="document.form1.offer.value=get_offer(document.form1.upc.value); return false;"&gt;

Enter UPC here &lt;input size="12" name="upc"&gt; Child Offer is &lt;input size="20" name="offer"&gt;.&lt;p&gt;

&lt;input type="submit" value="Click Here for the Offer #"&gt;

&lt;/form&gt;

&lt;p&gt;

&lt;/body&gt;

&lt;/html&gt;
I hope that helps you. ?
Copy linkTweet thisAlerts:
@kroweauthorJan 16.2004 — This works perfectly. I had never seen "case" or "break" used before, but as I learn more about JavaScript, I will watch for ways they can be used.

Adam, you have been a lifesaver to me. There are hundreds of ways I can use this script, and the most immediate one will in and of itself be of tremendous value.

What a great forum this is--thank you, thank you, thank you, Adam!! And thanks to the other folks who help out other newbies here, and to the moderator as well.

?

Regards,

Kristina
Copy linkTweet thisAlerts:
@AdamBrillJan 16.2004 — I'm glad to help. ?

One other comment about this script, however, is that it really should be done server-side. In the long run, it would probably also be easier to manage and use. Just a thought... ?
Copy linkTweet thisAlerts:
@kroweauthorJan 16.2004 — Thanks again, Adam.

I have no idea what server-side means. I'm not a programmer, but I occasionally do WebHelp authoring and it sometimes draws me into a need for a script like this.

My intent was to create individual "copies" of this script with various substitutions for the "variables" as needed. I think they will end up being sent out and used as standalone HTML pages and/or displayed as HTML pages in a WebHelp application (both of which are simply viewed by the user in a browser.) Is there a potential problem with using this type of code this way?

I appreciate the learning opportunity, but if this ends up being too complex to explain in this forum, there's no need to reply. You've been a big help!!

?

Regards,

Kristina
Copy linkTweet thisAlerts:
@AdamBrillJan 16.2004 — Server-side is basically just scripts that run on the server. Some server-side languages include PHP, ASP, CGI, etc.(my language of choice is PHP). Unfortunately it sounds as though it won't work for you, since WebHelp application are normally not run on a server and you obviously need a server to run server-side scripts. ?

If scripts are being created for use on the internet, however, it is best to do as much as possible with a server-side language rather than a client-side language(such as JavaScript).
×

Success!

Help @krowe spread the word by sharing this article on Twitter...

Tweet This
Sign in
Forgot password?
Sign in with TwitchSign in with GithubCreate Account
about: ({
version: 0.1.9 BETA 5.17,
whats_new: community page,
up_next: more Davinci•003 tasks,
coming_soon: events calendar,
social: @webDeveloperHQ
});

legal: ({
terms: of use,
privacy: policy
});
changelog: (
version: 0.1.9,
notes: added community page

version: 0.1.8,
notes: added Davinci•003

version: 0.1.7,
notes: upvote answers to bounties

version: 0.1.6,
notes: article editor refresh
)...
recent_tips: (
tipper: @AriseFacilitySolutions09,
tipped: article
amount: 1000 SATS,

tipper: @Yussuf4331,
tipped: article
amount: 1000 SATS,

tipper: @darkwebsites540,
tipped: article
amount: 10 SATS,
)...