javascript的confirm语句如何在C#里执行? <form><input name=mm><input type=submit onclick="if(mm.value>1000)return confirm('select')"></form> 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 回 meizz(梅花雪) :如果是在DataGrid里的输入框里的值求和,然后再判断呢?这个怎么取呢?所以肯定不能在button上加onclick事件... 那你就把这个判断放在form里的onsubmit事件里吧:<form runat=server onsubmit="return mm(this)"><script>function mm(e){ //其它的判断你自己写 return confirm('select');}</script> 如果我选择“确定”,怎样继续进行C#的操作呢?因为我肯定要在BUTTON的CLICK事件里用C#写方法去判断DATAGRID里的TEXTBOX的总和是否大于1000,如果大于,才要弹出CONFIRM对话框...可是我不知道按了“确定”之后该如何继续C#的方法:( 支持 meizz(梅花雪) ( )在 form 里写好了 你那个save按钮是服务器端的吧,在if(!this.Page.IsPostBack){ this.save.Attributes.add("onclick","return check_data()");} PPLUNCLE(明年去流浪,谁跟我一起...) :这个我也试过,可是不知道怎样取得DATAGRID里的TEXTBOX的名字... this.save.Attributes.add("onclick","if confirm('是否保存') ");就可以了 相信你已经有autupostback了 哦 你这100分还不好赚哦...<script>function document.onclick(){el=event.srcElement;if(el.name=="save")if (confirm('是否保存')) __doPostback(null,null);//好象是这么写哈 忘记了 反正你dopostback就对了传空参数} 关键是怎么取得DataGrid中的每一行的TextBox里的值... foreach(DataGridItem ii in DataGrid1.Items){ string TextValue = ((type)ii.FindControl("???")).Text;} 我说的是在javascript里取DataGrid中的每一行的TextBox里的值...谢谢关注! 你是要对datagrid里面数据的有效性进行验证吗?我是说对DataGrid里面的textbox的数据进行有效性验证吧? 不是对数据有效性进行验证,这个asp.net有控件可以验证的。而是要在按下“save”按钮时比较DataGrid里的所有TextBox里的数据之和与给定的一个最大值。如果数值之和大于这个最大值,就要弹出确认窗口。现在我不知道如何去取得DataGrid中的每一行的TextBox里的值。 Page_Load里加:this.save.Attributes.add("onclick","return check_data()");如果确认了执行save的事件,没的话,什么都不执行 上面的错了,应该是save的id号.Attributes.add("onclick","return check_data()"); Page_Load(){ BtnSave.Attributes["onclick"]="return check_data()";}.aspx<script>function check_data(){ if(num>1000) return confirm("save?"); else return true;}</script> 因为textbox放到datagrid里面,经过编译以后,其ID会变化,但是还是有一定规律的比如下面的模板列:<asp:TemplateColumn HeaderText="数 量"> <HeaderStyle HorizontalAlign="Center"></HeaderStyle> <ItemStyle HorizontalAlign="Center"></ItemStyle> <ItemTemplate> <asp:TextBox id=SL Text='<%# DataBinder.Eval(Container.DataItem,"SL") %>' Width="70px" CssClass="tabletxt" MaxLength="10" Runat="server" EnableViewState="False"> </asp:TextBox> </ItemTemplate></asp:TemplateColumn>经过编译以后,最终显示在页面上的html就会是下面的形式<input name="WL_WZBM:_ctl3:SL" type="text" value="50" maxlength="10" id="WL_WZBM__ctl3_SL" class="tabletxt" style="width:70px;" /><input name="WL_WZBM:_ctl4:SL" type="text" value="50" maxlength="10" id="WL_WZBM__ctl4_SL" class="tabletxt" style="width:70px;" />我现在要验证其是不是数字,可以采用下面的js验证:funtion Check_Data(){ var reg=/^([1-9]*[0-9]*|0)$/; //定义验证整型数据的正则表达式。 //遍历页面上所有HTML对象 for(var i=0;i < document.all.length;i++) { //首先确定要验证的是text if(document.all[i].type == "text") { var T_ID = document.all[i].id; //得到text的ID var T_value = document.all[i].value; //得到text的值 //因为模板列SL生成的html的text的ID后面都是"_SL",所以我就判断所有文本框的ID最后三个字符为"_SL"的文本框的值 if(T_ID.substring(T_ID.length-3,T_ID.length)=="_SL" && T_value.length == 0) { alert("数据提交失败:您必须为每类物资填写到货数量!"); document.all[i].focus(); //使出错的文本框中的值处于被选中状态 return false; } if(T_ID.substring(T_ID.length-3,T_ID.length)=="_SL" && && reg.test(T_value)==false) { alert("数据提交失败:到货数量输入不符合规范!"); document.all[i].select(); //使出错的文本框中的值处于被选中状态 return false; } //其他文本框验证 return true; } }} 有关JS sleep/wait功能,setTimeout()功能失效问题 高手进!! thickbox3.1 自适应大小 怎么样把这小段代码写成一个函数? Firefox 带颜色下拉框不能选取背景 弹出颜色代码怎么是rgb? 在线等。。。。请搞手指教。。关于层。。 有多个复选框,向通过文字“全选”,当单击该文字后,所有的复选框都处于选中状态。怎么做??????? 如何用javaScript来实现求合计的值。 怎么精华区没内容?斑竹真的没有精华吗?(帖内无内容) 怎样对动态生成的radio进行选择判断? 控制大小,位置。 IE的打印模板问题,急 高手请进
如果是在DataGrid里的输入框里的值求和,然后再判断呢?这个怎么取呢?
所以肯定不能在button上加onclick事件...
<form runat=server onsubmit="return mm(this)"><script>
function mm(e)
{
//其它的判断你自己写
return confirm('select');
}
</script>
因为我肯定要在BUTTON的CLICK事件里用C#写方法去判断DATAGRID里的TEXTBOX的总和是否大于1000,
如果大于,才要弹出CONFIRM对话框...可是我不知道按了“确定”之后该如何继续C#的方法:(
在 form 里写好了
if(!this.Page.IsPostBack)
{
this.save.Attributes.add("onclick","return check_data()");
}
这个我也试过,可是不知道怎样取得DATAGRID里的TEXTBOX的名字...
就可以了 相信你已经有autupostback了
你这100分还不好赚哦...
<script>
function document.onclick()
{
el=event.srcElement;
if(el.name=="save")
if (confirm('是否保存'))
__doPostback(null,null);//好象是这么写哈 忘记了 反正你dopostback就对了传空参数
}
{ string TextValue = ((type)ii.FindControl("???")).Text;}
谢谢关注!
我是说对DataGrid里面的textbox的数据进行有效性验证吧?
而是要在按下“save”按钮时比较DataGrid里的所有TextBox里的数据之和与给定的一个最大值。
如果数值之和大于这个最大值,就要弹出确认窗口。
现在我不知道如何去取得DataGrid中的每一行的TextBox里的值。
this.save.Attributes.add("onclick","return check_data()");
如果确认了执行save的事件,没的话,什么都不执行
save的id号.Attributes.add("onclick","return check_data()");
{
BtnSave.Attributes["onclick"]="return check_data()";
}
.aspx
<script>
function check_data()
{
if(num>1000)
return confirm("save?");
else
return true;
}
</script>
比如下面的模板列:
<asp:TemplateColumn HeaderText="数 量">
<HeaderStyle HorizontalAlign="Center"></HeaderStyle>
<ItemStyle HorizontalAlign="Center"></ItemStyle>
<ItemTemplate>
<asp:TextBox id=SL Text='<%# DataBinder.Eval(Container.DataItem,"SL") %>' Width="70px" CssClass="tabletxt" MaxLength="10" Runat="server" EnableViewState="False">
</asp:TextBox>
</ItemTemplate>
</asp:TemplateColumn>经过编译以后,最终显示在页面上的html就会是下面的形式<input name="WL_WZBM:_ctl3:SL" type="text" value="50" maxlength="10" id="WL_WZBM__ctl3_SL" class="tabletxt" style="width:70px;" />
<input name="WL_WZBM:_ctl4:SL" type="text" value="50" maxlength="10" id="WL_WZBM__ctl4_SL" class="tabletxt" style="width:70px;" />我现在要验证其是不是数字,可以采用下面的js验证:
funtion Check_Data()
{
var reg=/^([1-9]*[0-9]*|0)$/; //定义验证整型数据的正则表达式。
//遍历页面上所有HTML对象
for(var i=0;i < document.all.length;i++)
{
//首先确定要验证的是text
if(document.all[i].type == "text")
{
var T_ID = document.all[i].id; //得到text的ID
var T_value = document.all[i].value; //得到text的值
//因为模板列SL生成的html的text的ID后面都是"_SL",所以我就判断所有文本框的ID最后三个字符为"_SL"的文本框的值
if(T_ID.substring(T_ID.length-3,T_ID.length)=="_SL" && T_value.length == 0)
{
alert("数据提交失败:您必须为每类物资填写到货数量!");
document.all[i].focus(); //使出错的文本框中的值处于被选中状态
return false;
}
if(T_ID.substring(T_ID.length-3,T_ID.length)=="_SL" && && reg.test(T_value)==false)
{
alert("数据提交失败:到货数量输入不符合规范!");
document.all[i].select(); //使出错的文本框中的值处于被选中状态
return false;
}
//其他文本框验证
return true;
}
}
}