变量范围还是其他?很开始JS

时间:2014-04-09 20:35:54

标签: javascript button input global-variables setattribute

抱歉错误 - 我的第一篇文章。我想点击“试一试”按钮并更改第一个'确定'输入的类型。在此更改之后,我想再次单击“尝试”按钮并再次将id =“inputt”的元素类型更改为INPUT。我认为我的变量范围是错误的,它告诉我是否有2个按钮或输入和按钮。

//JS
window.onload = function Load(){
var done = false;
var foo = document.getElementById('g');
 if(!done){
foo.onclick = Change1;
 }else{
foo.onclick = Change2;
}

};

function Change1(){
 inp = document.getElementById('inputt');
 inp.setAttribute('type', 'button');
 done = true;

}
function Change2(){
 but = document.getElementById('inputt');
 but.setAttribute('type','input');
}

//HTML
<input value="ok" id="inputt">
<p>Click the button below to set the type attribute of the button above.</p>
<button id="g">Try it</button>

1 个答案:

答案 0 :(得分:0)

window.onload事件不会再次执行,只会在窗口加载时发生一次

看看这是否是你想要的。 http://jsfiddle.net/7W4Xw/1/

 //JS
 window.onload = function Load(){
     var foo = document.getElementById('g');
     foo.onclick = Change1;
 };

 function Change1(){
     inp = document.getElementById('inputt');
     inp.setAttribute('type', 'button');
     var foo = document.getElementById('g');
     foo.onclick = Change2;
 }

 function Change2(){
     but = document.getElementById('inputt');
     but.setAttribute('type','input');
 }