From: <pdo...@us...> - 2018-04-19 20:26:54
|
Revision: 14764 http://sourceforge.net/p/squirrelmail/code/14764 Author: pdontthink Date: 2018-04-19 20:26:50 +0000 (Thu, 19 Apr 2018) Log Message: ----------- Allow more advanced element focusing Modified Paths: -------------- branches/SM-1_4-STABLE/squirrelmail/functions/page_header.php Modified: branches/SM-1_4-STABLE/squirrelmail/functions/page_header.php =================================================================== --- branches/SM-1_4-STABLE/squirrelmail/functions/page_header.php 2018-04-19 11:11:30 UTC (rev 14763) +++ branches/SM-1_4-STABLE/squirrelmail/functions/page_header.php 2018-04-19 20:26:50 UTC (rev 14764) @@ -244,13 +244,20 @@ else $js .= " var f = document.forms.length;\n". " var i = 0;\n". + " var remembered_form = -1;\n". " var pos = -1;\n". + " var remembered_pos = -1;\n". " while( pos == -1 && i < f ) {\n". " var e = document.forms[i].elements.length;\n". " var j = 0;\n". " while( pos == -1 && j < e ) {\n". " if ( document.forms[i].elements[j].type == 'text' ) {\n". - " pos = j;\n". + " if ( document.forms[i].elements[j].id.substring(0, 13) == '__lastfocus__' ) {\n". + " remembered_pos = j;\n". + " remembered_form = i;\n". + " } else if ( document.forms[i].elements[j].id.substring(0, 11) != '__nofocus__' ) {\n". + " pos = j;\n". + " }\n". " }\n". " j++;\n". " }\n". @@ -258,6 +265,8 @@ " }\n". " if( pos >= 0 ) {\n". " document.forms[i-1].elements[pos].focus();\n". + " } else if ( remembered_pos >= 0 ) {\n". + " document.forms[remembered_form].elements[remembered_pos].focus();\n". " }\n". "}\n"; @@ -273,21 +282,30 @@ "function checkForm() {\n". " var f = document.forms.length;\n". " var i = 0;\n". + " var remembered_form = -1;\n". " var pos = -1;\n". + " var remembered_pos = -1;\n". " while( pos == -1 && i < f ) {\n". " var e = document.forms[i].elements.length;\n". " var j = 0;\n". " while( pos == -1 && j < e ) {\n". " if ( document.forms[i].elements[j].type == 'text' " . - " || document.forms[i].elements[j].type == 'password' ) {\n". - " pos = j;\n". + " || document.forms[i].elements[j].type == 'password' ) {\n". + " if ( document.forms[i].elements[j].id.substring(0, 13) == '__lastfocus__' ) {\n". + " remembered_pos = j;\n". + " remembered_form = i;\n". + " } else if ( document.forms[i].elements[j].id.substring(0, 11) != '__nofocus__' ) {\n". + " pos = j;\n". + " }\n". " }\n". " j++;\n". " }\n". - " i++;\n". + " i++;\n". " }\n". " if( pos >= 0 ) {\n". " document.forms[i-1].elements[pos].focus();\n". + " } else if ( remembered_pos >= 0 ) {\n". + " document.forms[remembered_form].elements[remembered_pos].focus();\n". " }\n". " $xtra\n". "}\n"; @@ -421,13 +439,20 @@ else $js .= "var f = document.forms.length;\n". "var i = 0;\n". + "var remembered_form = -1;\n". "var pos = -1;\n". + "var remembered_pos = -1;\n". "while( pos == -1 && i < f ) {\n". "var e = document.forms[i].elements.length;\n". "var j = 0;\n". "while( pos == -1 && j < e ) {\n". "if ( document.forms[i].elements[j].type == 'text' ) {\n". - "pos = j;\n". + "if ( document.forms[i].elements[j].id.substring(0, 13) == '__lastfocus__' ) {\n". + "remembered_pos = j;\n". + "remembered_form = i;\n". + "} else if ( document.forms[i].elements[j].id.substring(0, 11) != '__nofocus__' ) {\n". + "pos = j;\n". + "}\n". "}\n". "j++;\n". "}\n". @@ -435,6 +460,8 @@ "}\n". "if( pos >= 0 ) {\n". "document.forms[i-1].elements[pos].focus();\n". + "} else if ( remembered_pos >= 0 ) {\n". + "document.forms[remembered_form].elements[remembered_pos].focus();\n". "}\n". "}\n"; $js .= "// -->\n". This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |