今天没事整整js的一个问题,欢迎大家来发言
问题如下:
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<input type="text" id="textbox2" runat="server"/>
<asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="Button" OnClientClick="xxx"/>
<script language="javascript" type="text/javascript">
function xxx() {
$('#<%=TextBox1.ClientID %>', document).val("赋值成功");
$('#textbox2').val("我也赋值成功");
$('#<%=this.Button2.ClientID %>').click();
}
</script>后台cs代码
protected void Button2_Click(object sender, EventArgs e)
{
this.Response.Write("<script>alert('点击成功')</script>");
}
OnClientClick="xxx"和 OnClientClick="xxx()"的执行结果咋不一样呢,
前者执行结果TextBox1和textbox2都没有赋值,但后台的csButton2_Click却执行了。前面可以理解为匿名函数应该也是执行才对,还有就是return xxx()他们之间的区别是什么呢,一般是一个返回值,好像都是同样执行一个过程区别不是太大。请高手详解
问题如下:
<asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
<input type="text" id="textbox2" runat="server"/>
<asp:Button ID="Button2" runat="server" OnClick="Button2_Click" Text="Button" OnClientClick="xxx"/>
<script language="javascript" type="text/javascript">
function xxx() {
$('#<%=TextBox1.ClientID %>', document).val("赋值成功");
$('#textbox2').val("我也赋值成功");
$('#<%=this.Button2.ClientID %>').click();
}
</script>后台cs代码
protected void Button2_Click(object sender, EventArgs e)
{
this.Response.Write("<script>alert('点击成功')</script>");
}
OnClientClick="xxx"和 OnClientClick="xxx()"的执行结果咋不一样呢,
前者执行结果TextBox1和textbox2都没有赋值,但后台的csButton2_Click却执行了。前面可以理解为匿名函数应该也是执行才对,还有就是return xxx()他们之间的区别是什么呢,一般是一个返回值,好像都是同样执行一个过程区别不是太大。请高手详解
xxx相当于function xxx()的变量,而不是执行xxx()
oncick = new Function("xxx()")();
相当于(function (){xxx();})();return xxx();
返回 xxx 函数的返回值。返回false 不提交表单
默认是返回true!
也就是说,你 不加 return ,表单是会提交的