如何实现:点击按钮先执行js判断语句,不通过,则不回发;通过再执行cs文件的保存方法
我要在按钮的onclick事件实现这样的功能:先执行客户端的js来进行合法性判断,如果判断不通过,则不用回发到服务器,如果判断通过,则回发到服务器,并且执行服务器的保存到数据库的方法,该怎么做啊?在html代码里写好的一个事件如check()
然后在.cs的Page.PageLoad事件里写按钮名字.Attributes.Add("onclick","check()");
用这种方法,在判断不通过的时候,还是会回发到服务器上,怎么样才能实现上面我说的?各位高手请帮忙啊 --------------------编程问答-------------------- 用客户端的按钮来写 然后提交的时候调用__PostBack(xx,xx) 至于__postback去看生成的html页 有的页有的 好像要加隐藏控件的 --------------------编程问答-------------------- 这样的话,在客户端进行判断的代码应该怎么写啊,楼上的能不能给点详细的代码,多谢 --------------------编程问答-------------------- 服务器按钮OnClientClick="return delconfirm()" 例如删除
<script language="javascript">
function delconfirm()
{
if(条件)
{
return confirm("你确定删除吗?");
}
else
{
alert("你不可以删除");
return false;
}
}
</script> --------------------编程问答-------------------- 按照楼上说的不行啊,就算执行的是js里面的return false,又回发了一次,我这样试验的
protected void Page_Load(object sender, EventArgs e)
{
if (IsPostBack)
Response.Write("Hello");
}
结果不管怎么样都会打出hello --------------------编程问答-------------------- 不能呀 我试了
<script language=javascript>
function delconfirm()
{
var www="1";
if(www==2)
{
return confirm("你确定删除吗?");
}
else
{
alert("你不可以删除");
return false;
}
}
</script>
这样的话alert("你不可以删除"); 后页面根本就不提交!!!!!! --------------------编程问答-------------------- 测试用的按钮<asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="return delconfirm()" /> --------------------编程问答-------------------- 怪事,我原封不动拷贝你的代码,还是回发了,你在page_load加个判断语句看看 --------------------编程问答-------------------- 试了 没有问题 --------------------编程问答-------------------- 直接用confirm可以直接反回true或false;刚刚测试了
下面是cs代码
protected void Page_Load(object sender, EventArgs e)
{
this.Button1.Attributes.Add("onclick", "return confirm('确认删除吗?')");
}
protected void Button1_Click(object sender, EventArgs e)
{
//这里写你的删除数据的代码?
Response.Write("删除成功!");
} --------------------编程问答-------------------- 那是不是asp.net哪个地方要配置啊,楼上的高手能不能把整个文件都贴出来,包括cs文件 --------------------编程问答-------------------- 不用,你用我的方法试一下,行的 --------------------编程问答-------------------- 我试了呀,不管选确定还是取消,都打印出删除成功了,这就说明都执行了回发 --------------------编程问答-------------------- ===================
设置按钮的属性OnClientClick,里面写调用你那个JS函数的名字,比如delconfirm();
注意大小写。 --------------------编程问答-------------------- 用OnClientClick也是一样的 --------------------编程问答-------------------- 郁闷啊 --------------------编程问答-------------------- Page.PageLoad事件里写按钮名字.Attributes.Add("onclick","return check();");
在客户端的check事件中,不成功时一定要return false;肯定可以的。 --------------------编程问答-------------------- vs2005 用 OnClientClick="ruturn 函数名()"
vs2003 : (StringBuilder 名称空间using System.Text;)
private void Page_Load(object sender, System.EventArgs e)
{
StringBuilder sb = new StringBuilder("");
sb.Append("<script>");
sb.Append("function del()");
sb.Append("{");
sb.Append("var ClientSelectedCount=0;");
sb.Append("var checkObj=document.getElementsByName(\"chk\");");
sb.Append(" for(var i=0;i<checkObj.length;i++)");
sb.Append("{");
sb.Append("if(checkObj[i].checked)");
sb.Append("{");
sb.Append("ClientSelectedCount=ClientSelectedCount+1;");
sb.Append("}");
sb.Append("}");
sb.Append("if(ClientSelectedCount==0)");
sb.Append("{");
sb.Append("alert(\"请选择要删除的记录\");");
sb.Append("return false;");
sb.Append("}");
sb.Append("if(ClientSelectedCount>0)");
sb.Append("{");
sb.Append("return confirm(\"您真的要删除所选项吗?\");");
sb.Append("}");
sb.Append("}");
sb.Append("</script>");
if (!Page.IsStartupScriptRegistered("del")) //del 为js函数名
Page.RegisterStartupScript("del", sb.ToString());
if (!IsPostBack)
{
del.Attributes.Add("onclick","return del();");
//del 按钮名称
}
}
上面的js是事例,替换成自己的JS就好了
不管是2003还是2005 调用时用 return 函数(); //一定要Return --------------------编程问答-------------------- confirm --------------------编程问答-------------------- 各位楼上的老大们,多谢你们的帮助,可是用这些方法,在我的机器上真的不行,我的是2005
我看了,asp.net button生成了input type=submit的按钮,这个按钮不管return false还是return true都会提交,还有没有其它方法阿 --------------------编程问答-------------------- asp.net 2.0 你直接拉一个button然后可以设置属性OnClientClick,
前面都有代码了,绝对行。 --------------------编程问答-------------------- onsubmit="return del();" --------------------编程问答-------------------- 自己再仔细看看 已经提供的肯定可以解决 --------------------编程问答-------------------- 正好要用到,学习一下了 --------------------编程问答-------------------- 在.cs的Page.PageLoad事件里写按钮名字.Attributes.Add( "onclick ", "return confirm('是否确定易做图?');");
--------------------编程问答-------------------- Attributes.Add( "onclick ", " return check() "); --------------------编程问答-------------------- 不是吧,
Attributes.Add("onclic","chekc(); return false;");
就可以了,我试过的. --------------------编程问答-------------------- 在js 条件语句里做如下设置
If(判断失败)
return;
就可以 了。。 --------------------编程问答--------------------
修改 --------------------编程问答-------------------- Attributes.Add( "onclick ", "return check() "); --------------------编程问答-------------------- 楼主可以考虑不用asp的控件,直接使用<input type="button" value="button名称" onclick="check()" />
然后页面中一个<asp:linkButton id="lbtn_sure" runat="server" onclick="服务器端方法">
function check()
{
if(条件通过)
{
__doPostBack('lbtn_sure','');
}
}
这样就能在js条件通过的情况下调用服务器端的方法了 --------------------编程问答-------------------- 同时JS函数里面需要:
Function check()
{
if()
{
return false;
}
}
补充:.NET技术 , ASP.NET