Hi,
I have got a script that makes a <div> elemenet hover on the left hand side of the page when you scroll up and down. The only problem is that when I try to execut the following
<body OnLoad="document.form.search.focus();">
I get an error:
"Can't move focus to the control because it is invisible, not enabled, or of a type that does not accept the focus."
I have tried changing the name of the form and of the text box but no luck so far. Is there anything else I can try? Here is the hover script:
<style type="text/css">
#topbar{
position:absolute;
border: 0px solid black;
padding: 2px;
background-color: white;
width: 140px;
height: 150px;
visibility: hidden;
z-index: 100;
}
</style>
<script type="text/javascript">
/***********************************************
* Floating Top Bar script- © Dynamic Drive (* Sliding routine by Roy Whittle (* This notice must stay intact for legal use.
* Visit for full source code
***********************************************/
var persistclose=0 //set to 0 or 1. 1 means once the bar is manually closed, it will remain closed for browser session
var startX = 15 //set x offset of bar in pixels
var startY = 130 //set y offset of bar in pixels
var verticalpos="fromtop" //enter "fromtop" or "frombottom"
function iecompattest(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}
function get_cookie(Name) {
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) {
offset += search.length
end = document.cookie.indexOf(";", offset);
if (end == -1) end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}
function closebar(){
if (persistclose)
document.cookie="remainclosed=1"
document.getElementById("topbar").style.visibility="hidden"
}
function staticbar(){
barheight=document.getElementById("topbar").offsetHeight
var ns = (navigator.appName.indexOf("Netscape") != -1) || window.opera;
var d = document;
function ml(id){
var el=d.getElementById(id);
if (!persistclose || persistclose && get_cookie("remainclosed")=="")
el.style.visibility="visible"
if(d.layers)el.style=el;
el.sP=function(x,y){this.style.left=x+"px";this.style.top=y+"px";};
el.x = startX;
if (verticalpos=="fromtop")
el.y = startY;
else{
el.y = ns ? pageYOffset + innerHeight : iecompattest().scrollTop + iecompattest().clientHeight;
el.y -= startY;
}
return el;
}
window.stayTopLeft=function(){
if (verticalpos=="fromtop"){
var pY = ns ? pageYOffset : iecompattest().scrollTop;
ftlObj.y += (pY + startY - ftlObj.y)/8;
}
else{
var pY = ns ? pageYOffset + innerHeight - barheight: iecompattest().scrollTop + iecompattest().clientHeight - barheight;
ftlObj.y += (pY - startY - ftlObj.y)/8;
}
ftlObj.sP(ftlObj.x, ftlObj.y);
setTimeout("stayTopLeft()", 10);
}
ftlObj = ml("topbar");
stayTopLeft();
}
if (window.addEventListener)
window.addEventListener("load", staticbar, false)
else if (window.attachEvent)
window.attachEvent("onload", staticbar)
else if (document.getElementById)
window.onload=staticbar
</script>
And the form is here:
<div id="topbar">
<p class="style15"><span class="text2Col"><strong>BWB DIRECTORY</strong></span><span class="style14"></span></p>
<form name="form" method="POST" action="validate.asp">
<span class="text2"><strong>search</strong></span><br>
<font face="Verdana">
<input type="text" name="search" style="font-family: Verdana" size=8 onClick="this.value=''"><font size="1">
</font>
<input type="submit" value="Go" style="font-family: Verdana"><font size="1">
</font></font>
</form>
</div>
Thanks very much
Ed
I have got a script that makes a <div> elemenet hover on the left hand side of the page when you scroll up and down. The only problem is that when I try to execut the following
<body OnLoad="document.form.search.focus();">
I get an error:
"Can't move focus to the control because it is invisible, not enabled, or of a type that does not accept the focus."
I have tried changing the name of the form and of the text box but no luck so far. Is there anything else I can try? Here is the hover script:
<style type="text/css">
#topbar{
position:absolute;
border: 0px solid black;
padding: 2px;
background-color: white;
width: 140px;
height: 150px;
visibility: hidden;
z-index: 100;
}
</style>
<script type="text/javascript">
/***********************************************
* Floating Top Bar script- © Dynamic Drive (* Sliding routine by Roy Whittle (* This notice must stay intact for legal use.
* Visit for full source code
***********************************************/
var persistclose=0 //set to 0 or 1. 1 means once the bar is manually closed, it will remain closed for browser session
var startX = 15 //set x offset of bar in pixels
var startY = 130 //set y offset of bar in pixels
var verticalpos="fromtop" //enter "fromtop" or "frombottom"
function iecompattest(){
return (document.compatMode && document.compatMode!="BackCompat")? document.documentElement : document.body
}
function get_cookie(Name) {
var search = Name + "="
var returnvalue = "";
if (document.cookie.length > 0) {
offset = document.cookie.indexOf(search)
if (offset != -1) {
offset += search.length
end = document.cookie.indexOf(";", offset);
if (end == -1) end = document.cookie.length;
returnvalue=unescape(document.cookie.substring(offset, end))
}
}
return returnvalue;
}
function closebar(){
if (persistclose)
document.cookie="remainclosed=1"
document.getElementById("topbar").style.visibility="hidden"
}
function staticbar(){
barheight=document.getElementById("topbar").offsetHeight
var ns = (navigator.appName.indexOf("Netscape") != -1) || window.opera;
var d = document;
function ml(id){
var el=d.getElementById(id);
if (!persistclose || persistclose && get_cookie("remainclosed")=="")
el.style.visibility="visible"
if(d.layers)el.style=el;
el.sP=function(x,y){this.style.left=x+"px";this.style.top=y+"px";};
el.x = startX;
if (verticalpos=="fromtop")
el.y = startY;
else{
el.y = ns ? pageYOffset + innerHeight : iecompattest().scrollTop + iecompattest().clientHeight;
el.y -= startY;
}
return el;
}
window.stayTopLeft=function(){
if (verticalpos=="fromtop"){
var pY = ns ? pageYOffset : iecompattest().scrollTop;
ftlObj.y += (pY + startY - ftlObj.y)/8;
}
else{
var pY = ns ? pageYOffset + innerHeight - barheight: iecompattest().scrollTop + iecompattest().clientHeight - barheight;
ftlObj.y += (pY - startY - ftlObj.y)/8;
}
ftlObj.sP(ftlObj.x, ftlObj.y);
setTimeout("stayTopLeft()", 10);
}
ftlObj = ml("topbar");
stayTopLeft();
}
if (window.addEventListener)
window.addEventListener("load", staticbar, false)
else if (window.attachEvent)
window.attachEvent("onload", staticbar)
else if (document.getElementById)
window.onload=staticbar
</script>
And the form is here:
<div id="topbar">
<p class="style15"><span class="text2Col"><strong>BWB DIRECTORY</strong></span><span class="style14"></span></p>
<form name="form" method="POST" action="validate.asp">
<span class="text2"><strong>search</strong></span><br>
<font face="Verdana">
<input type="text" name="search" style="font-family: Verdana" size=8 onClick="this.value=''"><font size="1">
</font>
<input type="submit" value="Go" style="font-family: Verdana"><font size="1">
</font></font>
</form>
</div>
Thanks very much
Ed