后台执行js先执行前端的JS函数,再执行后台函数的按钮实
2011-03-28 09:32
399 查看
结合__doPostBack()解析一文,自己做了个实验,达到客户端用input button类型按钮先触发前台JS函数,再执行后台操作的目的
1、第一种实现方式:
<script type ="text/javascript" language ="javascript">
function CheckData()
{
alert("first");
__doPostBack("Button2","");
}
</script>
<input id="Button2" type="button" value="button" onclick ="CheckData()" onserverclick ="abc" />
<input id="submit1" name = "submit1" type="submit" runat ="server" onserverclick ="abc" onclick ="CheckData()" />
.cs 文件 pageload函数内:
protected void Page_Load(object sender, EventArgs e)
{
if (Request.Form["__EVENTTARGET"] == "Button2")
{
abcd();
}
}
protected void abcd()
{
Response.Write("<script>alert('留言成功添加');</script>");
}
2、第二种实现方式:
用input 的 submit类型按钮,可以直接如下恁地写,就可以达到,先执行JS的CheckData函数再执行后台abc函数了。
<input id="submit1" name = "submit1" type="submit" runat ="server" onserverclick ="abc" onclick ="CheckData()" />
又在网上找了下submit与button的区分,但是在实验中没有发现网上的那种提交处理两次的现象,先记下吧,以后慢慢阐发
------------------------------------------------
1、按钮为button,可在js中调用formName.submit()显性提交处理。若是submit按钮,则不能再这样加提交处理语句,不然会提交处理两次。
2、1个input域中回车,会默许第1个submit属性的按钮提交处理。若都是butoon属性,则回车不会提交处理表单。
3、有时提交处理表单后不能按F5页面,即没有action=""的情况,<form name="hand" method="post" onSubmit="javascript:return handle();">(此时在handle()中进行处置惩罚后会返回1个false)或<form name="hand" method="post" onSubmit="javascript:handle();return false">或<input type="button" id="addbt" name="addbt" value="增加关联" onClick="javascript:subList();return false;" />。这样做了后能保证只执行js代码后,本页面不按F5,也不提交处理到另外1个页面。
1、第一种实现方式:
<script type ="text/javascript" language ="javascript">
function CheckData()
{
alert("first");
__doPostBack("Button2","");
}
</script>
<input id="Button2" type="button" value="button" onclick ="CheckData()" onserverclick ="abc" />
<input id="submit1" name = "submit1" type="submit" runat ="server" onserverclick ="abc" onclick ="CheckData()" />
.cs 文件 pageload函数内:
protected void Page_Load(object sender, EventArgs e)
{
if (Request.Form["__EVENTTARGET"] == "Button2")
{
abcd();
}
}
protected void abcd()
{
Response.Write("<script>alert('留言成功添加');</script>");
}
2、第二种实现方式:
用input 的 submit类型按钮,可以直接如下恁地写,就可以达到,先执行JS的CheckData函数再执行后台abc函数了。
<input id="submit1" name = "submit1" type="submit" runat ="server" onserverclick ="abc" onclick ="CheckData()" />
又在网上找了下submit与button的区分,但是在实验中没有发现网上的那种提交处理两次的现象,先记下吧,以后慢慢阐发
------------------------------------------------
1、按钮为button,可在js中调用formName.submit()显性提交处理。若是submit按钮,则不能再这样加提交处理语句,不然会提交处理两次。
2、1个input域中回车,会默许第1个submit属性的按钮提交处理。若都是butoon属性,则回车不会提交处理表单。
3、有时提交处理表单后不能按F5页面,即没有action=""的情况,<form name="hand" method="post" onSubmit="javascript:return handle();">(此时在handle()中进行处置惩罚后会返回1个false)或<form name="hand" method="post" onSubmit="javascript:handle();return false">或<input type="button" id="addbt" name="addbt" value="增加关联" onClick="javascript:subList();return false;" />。这样做了后能保证只执行js代码后,本页面不按F5,也不提交处理到另外1个页面。
相关文章推荐
- 控制页面按钮在后台执行期间不重复提交的JS方法
- js调用后台函数或按钮事件
- ...后台代码中如何调用 javascript 函数的问题! - ASP.NET专题(按钮事件中调用JS文件中函数)
- js 增加确定取消按钮的弹出窗口,嵌套执行函数用法 onclick,confirm
- ...后台代码中如何调用 javascript 函数的问题! - ASP.NET专题(按钮事件中调用JS文件中函数)
- 点击按钮(或超链接)如何跳转到另外一个页面并执行目标页面的js函数
- js调用后台函数或按钮事件
- 控制页面按钮在后台执行期间不重复提交的JS方法
- asp.net JS控制页面按钮在后台执行期间不重复提交
- javascript笔记——点击按钮(或超链接)如何跳转到另外一个页面并执行目标页面的js函数
- 客户端按钮前台调用JS函数与服务端按钮后台调用JS函数的方法
- asp.net JS控制页面按钮在后台执行期间不重复提交
- Js定时执行函数方法setTimeout,clearTimeout用法及按钮addEventListener,attachEvent侦听事件
- 在后台 .cs 中执行前台的js 函数
- asp.net 后台执行js c#与asp.net页面前台语后台的函数
- js调用后台函数或按钮事件
- 你不可错过的二维码生成与解析-java后台与前端js都有
- 一到关于js函数的前端面试题引发的血案
- C#动态执行类库中的函数:利用反射实现(js)Eval,asp(Execute)功能