realitybend
07-09-2009, 11:39 AM
I'm working on some javascript with some simple logic. (Answer yes -> do this, else -> do this.) Nothing fancy, but I'm probably not doing it the most efficient way. I'd appreciate it if you would tear apart my work (and provide solutions or better ways of doing it).
All my work is in one document at http://www.wagnermeters.com/sg.htm.
¥åßßå
07-09-2009, 11:56 AM
Just from a brief glance at code
This :
function getlookuptable(answer, name) {
var metertable = new Array();
metertable[0] = "MMC 205 <a href=\"/images/subpages500-60200-002%20Manual,%20MMC205,210,220%20Rev%20B%20Species,%20Q%20&%20A,.pdf\">here</a>"
metertable[1] = "MMC 210 <a href=\"/images/subpages500-60200-002%20Manual,%20MMC205,210,220%20Rev%20B%20Species,%20Q%20&%20A,.pdf\">here</a>"
metertable[2] = "MMC 220 <a href=\"/images/subpages500-60200-002%20Manual,%20MMC205,210,220%20Rev%20B%20Species,%20Q%20&%20A,.pdf\">here</a>"
metertable[3] = "L606 <a href=\"/images/subpages500-60601-003%20Manual,%20L606-607%20Species.pdf\">here</a>"
metertable[4] = "L607 <a href=\"/images/subpages500-60601-003%20Manual,%20L606-607%20Species.pdf\">here</a>"
metertable[5] = "L609 <a href=\"/images/subpages500-60901-001%20Manual,%20L609%20Rev%20B.pdf\">here</a>"
metertable[6] = "MMI 1100 <a href=\"/images/subpages500-60601-003%20Manual,%20L606-607%20Species.pdf\">here</a>"
var i;
if(answer=="mmc205") {
i = "0"
}
else if(answer=="mmc210") {
i = "1"
}
else if(answer=="mmc220") {
i = "2"
}
else if(answer=="l606") {
i = "3"
}
else if(answer=="l607") {
i = "4"
}
else if(answer=="l609") {
i = "5"
}
else if(answer=="mmi1100") {
i = "6"
}
document.getElementById('par2').innerHTML = "Find the lookup table for the " + metertable[i];
}
could be written as :
function getlookuptable(answer)
{
var metertable = new Array();
metertable['mmc205'] = "MMC 205 <a href=\"/images/subpages500-60200-002%20Manual,%20MMC205,210,220%20Rev%20B%20Species,%20Q%20&%20A,.pdf\">here</a>"
metertable['mmc210'] = "MMC 210 <a href=\"/images/subpages500-60200-002%20Manual,%20MMC205,210,220%20Rev%20B%20Species,%20Q%20&%20A,.pdf\">here</a>"
metertable['mmec220'] = "MMC 220 <a href=\"/images/subpages500-60200-002%20Manual,%20MMC205,210,220%20Rev%20B%20Species,%20Q%20&%20A,.pdf\">here</a>"
metertable['l606'] = "L606 <a href=\"/images/subpages500-60601-003%20Manual,%20L606-607%20Species.pdf\">here</a>"
metertable['l607'] = "L607 <a href=\"/images/subpages500-60601-003%20Manual,%20L606-607%20Species.pdf\">here</a>"
metertable['l609'] = "L609 <a href=\"/images/subpages500-60901-001%20Manual,%20L609%20Rev%20B.pdf\">here</a>"
metertable['mmi1100'] = "MMI 1100 <a href=\"/images/subpages500-60601-003%20Manual,%20L606-607%20Species.pdf\">here</a>"
if( typeof( metertable[answer]) != 'undefined' )
{
document.getElementById('par2').innerHTML = "Find the lookup table for the " + metertable[answer];
}
}
A similar thing could be done with other bits of your code
¥
realitybend
07-09-2009, 04:30 PM
I've made the changes you've suggested, with several others as well.
The script uses the name of the radio input to determine which paragraph it's in, so it changes the innerHTML of the next paragraph, and clears the paragraphs after that.
function getmeters(name) {
n = namenumber(name);
clearp(name);
document.getElementById('par' + (n*1+1)).innerHTML = q1;
}
function namenumber(name) {
var n = "0";
if(name=="one") {
n = "1"
}
else if(name=="two") {
n = "2"
}
else if(name=="three") {
n = "3"
}
else if(name=="four") {
n = "4"
}
else if(name=="zero") {
n = "1"
}
return n;
}
I need a better way of doing this, it's already starting to fall apart. Any ideas?
vBulletin® v3.6.7, Copyright ©2000-2009, Jelsoft Enterprises Ltd.