如何在unbeforeunload上触发按钮点击事件? [英] How to fire button click event on unbeforeunload ?

查看:386
本文介绍了如何在unbeforeunload上触发按钮点击事件?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

Hii,



我的要求是..如果页面尝试浏览不同的页面..我想要显示消息..请保存数据.. on确认框上会有按钮..如果他点击保存..我想点火保存点击事件...并重定向到下一页..



但问题是,当我试图解雇这个事件时......因为它已经被驱逐到了之前卸载..我很难忘记那个按钮ID ......我怎么能这样做?

  //   $(window).bind(beforeunload,function( ){ 
// document.getElementById('<%= hdnBack.ClientID%> ;')。value =;
// 调试器;
// if(确认(如果您离开此屏幕,您可能会丢失所有未保存的数据 )== true){
// var mode ='<%= Request。 QueryString [mode]%>';

// if (mode =='edit'){
// _doPostBack(<%= btnUpdate_Click.UniqueID%>,OnClick);
// // __doPostBack ('btnUpdate_Click','OnClick');
// // $('ContentPlaceHolder1_btnUpdate ').trigger('click');
// //document.getElementById( '<%= btnUpdate_Click.ClientID%>')。点击;
// // var Update = document.getElementById('<%= btnUpdate_Click.ClientID%>');
// // Update.click;
// }
// else {
// document.getElementById(btnSave_Click)。click();
// }
// return true;
// }
// else {
// < span class =code-comment> return true;
// }
// })

解决方案

(窗口).bind(beforeunload,funct ion(){
// document.getElementById('<%= hdnBack.ClientID %>')。value =;
// 调试器;
// if(确认(如果您离开此屏幕,您可能会丢失所有未保存的数据)= = true){
// var mode ='<%= Request.QueryString [ mode]%>';

// if(mode =='编辑'){
// _doPostBack(<%= btnUpdate_Click。 UniqueID%>,OnClick);
// // __doPostBack(' btnUpdate_Click','OnClick');
// //


('ContentPlaceHolder1_btnUpdate')。触发器('click');
// / /document.getElementById('<%= btnUpdate_Click.ClientID%>')。click;
// // var Update = document.getElementById('<%= btnUpdate_Click.ClientID%>');
// // Update.click;
// }
// else {
// document.getElementById(btnSave_Click)。click();
// }
// 返回true;
// }
// else {
// 返回true;
// }
// })


整个方法都是错误的。您不需要在不单击按钮的情况下触发按钮单击事件,您只需要执行相同的操作就像单击按钮一样。您需要点击效果,而不是点击本身。所以有什么问题?做到这一点。你应该从点击手柄调用一些函数。将它作为脚本中命名的显式编写函数。从 onclick 处理程序以及 onbeforeunload 处理程序中调用它。就这么简单。



-SA


Hii,

My requirement is .. if page try to navigate through different page .. I want to dislay an message .. please save data .. on that there will be do buttons on confirm box .. if he click on save .. i want to fire save click event ... and redirect to next page ..

But the problem is when i try to fire this event ... because it was enetered into onbefore unload .. i am unbale to catch that button id ... .. How can i do that ???

// $(window).bind("beforeunload", function () {
// document.getElementById('<%=hdnBack.ClientID %>').value = "";
// debugger;
// if (confirm("If you leave this screen you may lose any unsaved data") == true) {
// var mode = '<%= Request.QueryString["mode"] %>';
 
// if (mode == 'edit') {
// _doPostBack("<%= btnUpdate_Click.UniqueID %>", "OnClick");
//// __doPostBack('btnUpdate_Click', 'OnClick');
// // $('ContentPlaceHolder1_btnUpdate').trigger('click');
// //document.getElementById('<%=btnUpdate_Click.ClientID%>').click;
//// var Update = document.getElementById('<%=btnUpdate_Click.ClientID%>');
//// Update.click;
// }
// else {
// document.getElementById("btnSave_Click").click();
// }
// return true;
// }
// else {
// return true;
// }
// })

解决方案

(window).bind("beforeunload", function () { // document.getElementById('<%=hdnBack.ClientID %>').value = ""; // debugger; // if (confirm("If you leave this screen you may lose any unsaved data") == true) { // var mode = '<%= Request.QueryString["mode"] %>'; // if (mode == 'edit') { // _doPostBack("<%= btnUpdate_Click.UniqueID %>", "OnClick"); //// __doPostBack('btnUpdate_Click', 'OnClick'); // //


('ContentPlaceHolder1_btnUpdate').trigger('click'); // //document.getElementById('<%=btnUpdate_Click.ClientID%>').click; //// var Update = document.getElementById('<%=btnUpdate_Click.ClientID%>'); //// Update.click; // } // else { // document.getElementById("btnSave_Click").click(); // } // return true; // } // else { // return true; // } // })


The whole approach is wrong. You don't need to "fire button click event" without clicking on the button, you simply need to have the same action "as if button is clicked". You need the effect of click, not the click itself. So, what's the problem? Do exactly this. You should have some function you call from the click handle. Have it as a named explicitly written function in your script. Call it from onclick handler and also, from your onbeforeunload handler. As simple as that.

—SA


这篇关于如何在unbeforeunload上触发按钮点击事件?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆