javascript中的onclick事件设为一个函数,但是不点它就执行了这个函数,这是为什么呢?
<formaction=""method="post"id="form"><inputtype="button"value="修改"id="btnupdate"oncli...
<form action="" method="post" id="form">
<input type="button" value="修改" id="btnupdate" onclick="confirmUpdate()"/>
</form>
JS里的:
function confirmUpdate(){
var btnupdate=document.getElementById("btnupdate")
btnupdate.value="保存";
btnupdate.onclick=doSave();
}
function doSave(){
document.getElementById("form").action="doTest.action";
document.getElementById("form").submit();
}点击修改后,按钮value改了,但一闪就自动跳转页面了。好像onclick属性没用啊,我还没点呢。。。 展开
<input type="button" value="修改" id="btnupdate" onclick="confirmUpdate()"/>
</form>
JS里的:
function confirmUpdate(){
var btnupdate=document.getElementById("btnupdate")
btnupdate.value="保存";
btnupdate.onclick=doSave();
}
function doSave(){
document.getElementById("form").action="doTest.action";
document.getElementById("form").submit();
}点击修改后,按钮value改了,但一闪就自动跳转页面了。好像onclick属性没用啊,我还没点呢。。。 展开
展开全部
你可以改成这样:
function confirmUpdate(){
var btnupdate=document.getElementById("btnupdate")
if (btnupdate.value=="保存") {
doSave();
} else {
btnupdate.value="保存";
}
function doSave(){
document.getElementById("form").action="doTest.action";
document.getElementById("form").submit();
}
function confirmUpdate(){
var btnupdate=document.getElementById("btnupdate")
if (btnupdate.value=="保存") {
doSave();
} else {
btnupdate.value="保存";
}
function doSave(){
document.getElementById("form").action="doTest.action";
document.getElementById("form").submit();
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
btnupdate.onclick=doSave(); 不对,因为btnupdate.onclick不是在调用doSave ,所以不能有().很多地方都是。只有调用的时候才加().
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
btnupdate.onclick=doSave();
改成:
btnupdate.onclick=doSave;
事件处理器不应有括号。
改成:
btnupdate.onclick=doSave;
事件处理器不应有括号。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
btnupdate.value="保存";
btnupdate.onclick=doSave(); 会自己执行的 去掉()
btnupdate.onclick=doSave(); 会自己执行的 去掉()
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询