我试图在各自输入点击时打开和关闭标签。 但是,我的代码只是关闭表单中的最后一个标签。我知道jQuery将是最好的解决方案,但我试图去掌握Javascript。我将不胜感激任何帮助。 非常感谢! :)Javascript:切换输入标签开启和关闭仅适用于表单中最后一个标签
<html>
<head>
<script type="text/javascript">
window.onload=foo;
function foo(){
function ToggleLabels(form){
var oForm = document.forms[form];
// this function will add events to objects.
function addEvent(object,eType,eWindowsType,func,bubble){
if(window.addEventListener){
object.addEventListener(eType,func,bubble);
}
if(window.attachEvent){
object.attachEvent(eWindowsType,func);
}
}
//toggles the display of the labels
function toggle(input,label){
alert(label.innerHTML)
if(input.value == ''){
if(label.style.display == 'none'){
label.style.display = 'inline';
}
else{
label.style.display = 'none';
}
}
else{
label.style.display = 'none';
}
}
// Loop through all text inputs in the form and add the toggle functionality
for(var i=0; i < oForm.length; i++){
if(oForm.elements[i].type == 'text'){
var oInput = oForm.elements[i];
var oLabel = oInput.previousSibling;
addEvent(oInput,'click','onclick',function(){toggle(oInput,oLabel)},false);
}
}
}
new ToggleLabels(0);
}
</script>
</head>
<body>
<form>
<label for="name" id="nameL">Name: </label><input id="name" type="text" name="name"/>
<label for="age">Age: </label><input type="text" name="age"/>
<label for="gender">Gender: </label><input type="text" name="gender"/>
</form>
</body>
</html>
三江源,我知道这是一些非常基本的,我只是WASN”得到。大拇指! – 2011-02-16 21:10:11
@加里瑞安:请考虑[@ logui的答案](http://stackoverflow.com/questions/5021843/javascript-toggling-an-input-label-on-and-off-only-works-on-the-last -label-在个/ 5022170#5022170)。它更容易,不涉及关闭。 – 2011-02-16 21:27:34