| « Circling the Solution | Slow-Motion Automation » |
I can think of several ways to improve the code below from Jeff S., or at least to reduce its line count by two or three.
function submitTrap3()
{
var n = 0;
var f =0;
var elementItem = "";
if (window.event.keyCode == 13)
{
for (n=0;n<document.forms[0].elements.length;n++)
{
elementItem = document.forms[0].elements[n].name;
if ((document.forms[0].elements[n].value != "") &&
(elementItem == trim(document.forms[0].txtControlName.value)))
{
switch (elementItem)
{
case "header1:SearchBox" :
{
__doPostBack('header1:goSearch','');
break;
}
case "Text1":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text2":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text3":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text4":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text5":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text6":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text7":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text8":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text9":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text10":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text11":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text12":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text13":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text14":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text15":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text16":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text17":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text18":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text19":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text20":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text21":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text22":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text23":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text24":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text25":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text26":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text27":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text28":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text29":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text30":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text31":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text32":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text33":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text34":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text35":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text36":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text37":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text38":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text39":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text40":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text41":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text42":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text43":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text44":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text45":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text46":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text47":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text48":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text49":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
case "Text50":
{
window.event.returnValue=false;
window.event.cancel = true;
document.forms[0].elements[n+1].focus();
break;
}
}
}
}
}
}
There's a pattern there. See if you can find it!
Re: If I've Said It Once, I've Said It Fifty Times
2008-11-05 08:02
•
by
JoelKatz
(unregistered)
|
|
I DEFY ANYONE TO DEFEND THIS CODE!
|
|
I know, I know!!! It needs xml and xslt!!!
|
Re: If I've Said It Once, I've Said It Fifty Times
2008-11-05 09:06
•
by
halcyon1234
|
|
Oh, that's easy. Switch statements use up extra cycles because of all those extra condition checkers. He should use a single IF statement, since each one is going to focus on n+1 anyways. This way you can get all those switch statements done with just one line. Sure, it'll be a long line, and you'll need to horizontal scroll to read it-- but the horizontal scroll bar only uses pre-compile cycles.
|
Re: If I've Said It Once, I've Said It Fifty Times
2008-11-05 09:07
•
by
attemp1
(unregistered)
|
|
how about this?
switch (elementItem) { case "header1:SearchBox" : { __doPostBack('header1:goSearch',''); break; } case "Text1": case "Text2": case "Text3": case "Text4": case "Text5": case "Text6": case "Text7": case "Text8": case "Text9": case "Text10": case "Text11": case "Text12": case "Text13": case "Text14": case "Text15": case "Text16": case "Text17": case "Text18": case "Text19": case "Text20": case "Text21": case "Text22": case "Text23": case "Text24": case "Text25": case "Text26": case "Text27": case "Text28": case "Text29": case "Text30": case "Text31": case "Text32": case "Text33": case "Text34": case "Text35": case "Text36": case "Text37": case "Text38": case "Text39": case "Text40": case "Text41": case "Text42": case "Text43": case "Text44": case "Text45": case "Text46": case "Text47": case "Text48": case "Text49": case "Text50": { window.event.returnValue=false; window.event.cancel = true; document.forms[0].elements[n+1].focus(); break; } } I just can't see anything else that would make it smaller, expandable and easier to manage... |
| « Circling the Solution | Slow-Motion Automation » |