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属性没用啊,我还没点呢。。。
展开
 我来答
网海1书生
科技发烧友

2012-06-03 · 擅长软件设计、WEB应用开发、小程序
网海1书生
采纳数:12311 获赞数:26226

向TA提问 私信TA
展开全部
你可以改成这样:

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();
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
文雅又轻捷灬虎鲸
2012-06-04 · 超过14用户采纳过TA的回答
知道答主
回答量:141
采纳率:0%
帮助的人:56万
展开全部
btnupdate.onclick=doSave(); 不对,因为btnupdate.onclick不是在调用doSave ,所以不能有().很多地方都是。只有调用的时候才加().
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
喜相逢_123
推荐于2018-04-08 · TA获得超过732个赞
知道小有建树答主
回答量:557
采纳率:0%
帮助的人:463万
展开全部
btnupdate.onclick=doSave();
改成:
btnupdate.onclick=doSave;
事件处理器不应有括号。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
lanjiasheng
2012-06-03 · 超过21用户采纳过TA的回答
知道答主
回答量:92
采纳率:0%
帮助的人:62.3万
展开全部
btnupdate.value="保存";
btnupdate.onclick=doSave(); 会自己执行的 去掉()
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式