Hi,ALL:问题很简单,想用一个按钮实现开关的功能。在IE里调试,点第一下之后,按钮的onsubmit已经被改成了我想要的状态,但是再点,似乎onsubmit就失效了,而且页面被刷了一下。请大家帮忙纠正下错误吧,谢谢!<html>
<head>
</head><body onload="a()">
<script language="javascript">
function a()
{
var html='<form id="f" onsubmit="c();return false;"><input id=bt type="submit" value="submit" /></form>';
document.getElementById('d').innerHTML=html;
}
function c()
{
alert("c");
var html;
document.getElementById('bt').value='开';
document.getElementById('f').onsubmit='b();return false;';
}
function b()
{
alert("b");
var html;
document.getElementById('bt').value='关';
document.getElementById('f').onsubmit='c();return false;';
}
</script>
<div id=d></div>
</body>
</html>
<head>
</head><body onload="a()">
<script language="javascript">
function a()
{
var html='<form id="f" onsubmit="c();return false;"><input id=bt type="submit" value="submit" /></form>';
document.getElementById('d').innerHTML=html;
}
function c()
{
alert("c");
var html;
document.getElementById('bt').value='开';
document.getElementById('f').onsubmit='b();return false;';
}
function b()
{
alert("b");
var html;
document.getElementById('bt').value='关';
document.getElementById('f').onsubmit='c();return false;';
}
</script>
<div id=d></div>
</body>
</html>
建议LZ用createElement()吧。貌似,直接innerHtml,事件是不能被触发的。或者,采用JQuery来append。
<html>
<head>
<meta charset="gb2312" />
</head><body onload="a()">
<script language="javascript">
function a()
{
var html='<form id="f" onsubmit="c();return false;"><input id=bt type="submit" value="submit" /></form>';
document.getElementById('d').innerHTML=html;
}
function c()
{
alert("c");
var html;
document.getElementById('bt').value='开';
document.getElementById('f').onsubmit = function(){
b();
return false;
};
}
function b()
{
alert("b");
var html;
document.getElementById('bt').value='关';
document.getElementById('f').onsubmit=function(){
c();
return false;
};
}
</script>
<div id=d></div>
</body>
</html>楼主 这个意思?