badmuts
12-07-2005, 01:15 PM
In the following code, I add a label to a div. I expect, when I click this new label (Some error), the textbox will get focus (like the 'Click here'-label does). But it doesn't. When you run this example, you'll notice there's nothing wrong with the on-the-fly created html, shown in the textarea. BTW: I use IE 6.0.
<html>
<SCRIPT LANGUAGE="JavaScript">
<!--
function setError(obj, melding){
infoNode = document.getElementById("errors");
errorLabel = document.createElement("label");
var bullet_text = document.createTextNode(melding);
errorLabel.appendChild(bullet_text);
errorLabel.setAttribute("for", obj.id);
infoNode.appendChild(errorLabel);
// check created in textarea
document.all["putHere"].value = document.all["errors"].innerHTML;
}
//-->
</SCRIPT>
<body onload="setError(document.all['getFocus'], 'Some error');">
<div id="errors"></div>
<label for="getFocus">Click here</label><input type="text" id="getFocus">
<br><textarea id="putHere" rows=10 cols=80></textarea>
</body>
</html>
<html>
<SCRIPT LANGUAGE="JavaScript">
<!--
function setError(obj, melding){
infoNode = document.getElementById("errors");
errorLabel = document.createElement("label");
var bullet_text = document.createTextNode(melding);
errorLabel.appendChild(bullet_text);
errorLabel.setAttribute("for", obj.id);
infoNode.appendChild(errorLabel);
// check created in textarea
document.all["putHere"].value = document.all["errors"].innerHTML;
}
//-->
</SCRIPT>
<body onload="setError(document.all['getFocus'], 'Some error');">
<div id="errors"></div>
<label for="getFocus">Click here</label><input type="text" id="getFocus">
<br><textarea id="putHere" rows=10 cols=80></textarea>
</body>
</html>