jitganguly
asked on
Tab on Enter
I have this function for tabbing on fields if he/she presses enter key.
function tabOnEnter (field, evt) {
var keyCode = document.layers ? evt.which : document.all ?
evt.keyCode : evt.keyCode;
if (keyCode != 13)
return true;
else {
getNextElement(field).focu s();
return false;
}
}
function getNextElement (field) {
var form = field.form;
for (var e = 0; e < form.elements.length; e++)
if (field == form.elements[e])
break;
return form.elements[++e % form.elements.length];
}
and I call it like
<input name="varTests_curr(<%=i%> )" style="text-align: Right" size="10" value="<%=tests_curr(i)%>"
onBlur="FValidate(this);" onkeydown="return tabOnEnter (this, event);">
But I have some hidden columns on the form which are failing , like if I have
<input type="hidden" name="varTest_type(<%=i%>) " value="OCT">
after the above input it fails with an error message.
I tried to do a
if (form.elements[e].type = 'hidden')
continue;
But its not working.
Any suggestions ?
function tabOnEnter (field, evt) {
var keyCode = document.layers ? evt.which : document.all ?
evt.keyCode : evt.keyCode;
if (keyCode != 13)
return true;
else {
getNextElement(field).focu
return false;
}
}
function getNextElement (field) {
var form = field.form;
for (var e = 0; e < form.elements.length; e++)
if (field == form.elements[e])
break;
return form.elements[++e % form.elements.length];
}
and I call it like
<input name="varTests_curr(<%=i%>
onBlur="FValidate(this);" onkeydown="return tabOnEnter (this, event);">
But I have some hidden columns on the form which are failing , like if I have
<input type="hidden" name="varTest_type(<%=i%>)
after the above input it fails with an error message.
I tried to do a
if (form.elements[e].type = 'hidden')
continue;
But its not working.
Any suggestions ?
or shorter (and I made a mistake!)
function getNextElement (field)
{
var frm = field.form;
var bIs = false;
for (var e=0;e<frm.length;e++)
{
if(frm[e].type!="hidden" && bIs) return frm.elements[e];
if (field==frm[e]) bIs=true;
}
}
function getNextElement (field)
{
var frm = field.form;
var bIs = false;
for (var e=0;e<frm.length;e++)
{
if(frm[e].type!="hidden" && bIs) return frm.elements[e];
if (field==frm[e]) bIs=true;
}
}
ASKER
Any diff between two ? or EE bug ?
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER
Excellent. Thanx wonder boy of 20
I need to learn Javascript badly
:-)
I need to learn Javascript badly
:-)
Wouldn't it be easier simply to change the ENTER key into a TAB and then go on?
function tabOnEnter (field, evt) {
var keyCode = document.layers ? evt.which : document.all ?
evt.keyCode : evt.keyCode;
if (keyCode == 13) {
evt.keyCode = 9; // change ENTER to TAB and go on
return true;
}
}
function tabOnEnter (field, evt) {
var keyCode = document.layers ? evt.which : document.all ?
evt.keyCode : evt.keyCode;
if (keyCode == 13) {
evt.keyCode = 9; // change ENTER to TAB and go on
return true;
}
}
{
var frm = field.form;
var bIs = false;
for (var e=0;e<frm.length;e++)
{
if(frm.elements[e].type!="
if (field == frm.elements[e]) bIs=true;
}
}