急啊!明白javascript的兄弟帮忙看看这一句JS代码错在哪里?

yingchenglangzi 2005-08-22 09:28:42
我想用confirm来做删除时的提示,根据用户的选择决定是否删除,写了下面一句:
Response.Write("<script language=javascript> if (confirm('确定要删除这"+i+"条信息吗?')) {return true;} else {return false;} </script>");

其中i是用来计算用户选择的条数的,但是现在却不执行这条语句,报错说是return语句在函数之外,是什么原因啊?
...全文
125 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yingchenglangzi 2005-08-22
  • 打赏
  • 举报
回复
错了,上面那句是写给penning(飞鱼) 的
yingchenglangzi 2005-08-22
  • 打赏
  • 举报
回复
楼上的,按照你的方法可以弹出提示可是不能执行我后面删除部分的代码啊!
haimuwang 2005-08-22
  • 打赏
  • 举报
回复
我把你这句话Response.Write("<script language=javascript> if (confirm('确定要删除这"+i+"条信息吗?')) {return true;}else {return false;} </script>");修改一下
Response.Write("<script language=javascript>function a(){ if (confirm('确定要
删除这" + i + "条信息吗?')) {return true;}else {return false;}}a();</script>");
我这样改的原因是return语句要和if语句配合使用时应该写在函数里,写完函数后再去调用就可以了。
penning 2005-08-22
  • 打赏
  • 举报
回复
使用RegisterStartupScript
string ScriptStr="<script>window.alert('文件格式错误!');</script>";
Page.RegisterStartupScript("Message",ScriptStr);
真相重于对错 2005-08-22
  • 打赏
  • 举报
回复
我明白你的意思,感觉你对bs理解有问题,
你的button_click执行时客户端已经提交完毕,客户端已经无法通过选择终止执行,你必须使用js来想办法,可以这样在js里
var mystr;
function test( strmsg )
{
return confirm(strmsg );
}
页面选择数据时用js修改mystr的值
类似
mystr = "你选择的是"+选择的数据.value;
aspx.cs
Page_load()
{
button1.Attributes.Add( "onclick" , "test(mystr)");
}
yingchenglangzi 2005-08-22
  • 打赏
  • 举报
回复
自己再顶!
yingchenglangzi 2005-08-22
  • 打赏
  • 举报
回复
我的代码:

Label2.text="0";
private void LinkButton1_Click(object sender, System.EventArgs e)
{
if (Label2.Text!="0")
{
DAL.Data.Entry.LegalAffair.LegalRulesModel rule=new DAL.Data.Entry.LegalAffair.LegalRulesModel();
foreach(DataGridItem item in this.DataGrid1.Items)
{
CheckBox che=(CheckBox)item.Cells[0].FindControl("CheckBox1");
if (che.Checked==true)
{
string id=((Label)item.Cells[0].FindControl("LabelID")).Text.Trim().ToString();
rule.Delete(Convert.ToInt32(id)); //执行删除操作
}
}
Response.Write("<script language=javascript>alert('操作成功!');</script>");

this.TextBox1.Text="";
dataBind(); //重新绑定数据
}
else
{
int i=0;
foreach(DataGridItem item in this.DataGrid1.Items)
{
CheckBox che=(CheckBox)item.Cells[0].FindControl("CheckBox1");
if (che.Checked==true)
{
i++; //计算选择的数量
}
}
Response.Write("<script language=javascript> if (confirm('确定要删除这"+i+"条信息吗?')) {return true;}else {return false;} </script>");
this.Label2.Text="1";
LinkButton1_Click(sender,e);
}

}
yingchenglangzi 2005-08-22
  • 打赏
  • 举报
回复
可是我发现Button1.Attributes.Add这种方法好像只是在Page_load里面写好用,放在其他地方写不好用,而在Page_Load里又无法取得i的值,因为这个时候客户端还没有选择呢,这种情况如何处理啊?我现在是把那段代码写在LinkButton1_Click事件中的!
真相重于对错 2005-08-22
  • 打赏
  • 举报
回复
Response.Write("<script language=javascript> if (confirm('确定要删除这"+i+"条信息吗?')) {return true;} else {return false;} </script>");
你这种写法有问题,因为Response.Write基本上是服务器已经处理完毕了,你要在客户端提交数据之前用
类似这样
Button1.Attributes.Add("onclick()","return confirm(....)")

62,074

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧