我想在同一事件1上调用两个函数是客户端,另一个是服务器端。 我怎么能这样做
<input type="text" ID="txtUserName" runat="server" maxlength="50"
class="DefaultTextbox" style="width:180px;" value=""
onfocus="ControlOnFocus('', this, spanUserName);"
onblur="ControlOnBlur('',this, spanUserName); "
/>
onblur =“ControlOnBlur(); function2();
这是对的吗?
onblur="ControlOnBlur(); function2();
答案 0 :(得分:3)
多数民众赞成。实际上,定义HTML中内联的事件并不是很好的做法,但它确实有用。在onblur=""
中“和”之间的每次访问被视为一个长JavaScript代码块,因此您可以在其中编写任何内容,甚至是您希望的整个程序。
onblur="sentence1; sentence2; sentence3;"
答案 1 :(得分:1)
如果使用Web表单,您希望回发到服务器以处理服务器端事件,您可以使用__doPostBack(this.name,'')发回服务器(或者提到您可以使用服务器端事件输出(我相信或命名的GetClientResourceUrl),但我喜欢使用__doPostBack方法来执行回发。
如果使用MVC,则可以使用$ .get或$ .post调用操作方法,如$ .get(“/ Controller / Action”,function(result){})。对于Web表单,您无法直接调用方法。您可以调用Web服务或页面方法。
HTH
答案 2 :(得分:0)
最接近的是调用本地函数(javascript),然后通过异步调用(Ajax)向服务器发出请求。但是,您无法直接从客户端调用服务器上的方法。
使用jQuery,它看起来像这样:
$("#txtUserName").blur(function(e){
ControlOnBlur(); // call first function
$.post("/methods", {methodName:"refreshData", function(results){
/* results represents that which was returned from the server */
alert(results);
});
});