100分求一个菜鸟问题,怎么在客户端用JAVASCRIPT验证服务器端控件?解决立即结帖 你这个 onclick怎么加上的? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 不是,我是在执行的页面复制这些代码的,源文件如下(我只贴出有关联的):<script>...</script>就是上面的那个SCRIPT:<script>var img=null;var pflag=false;function s(){if(document.Form1.opus.value!=""){ if(img)img.removeNode(true); img=document.createElement("img"); img.style.position="absolute"; img.style.visibility="hidden"; img.attachEvent("onreadystatechange",orsc); img.attachEvent("onerror",oe); document.body.insertAdjacentElement("beforeend",img); img.src=document.Form1.opus.value;} else{ alert("请选择文件!"); pflag=false; return false;}}function oe(){alert("请确认您上传的文件是图片文件!");pflag=false;return false;}function orsc(){if(img.readyState!="complete"){pflag=false;return false;} if(img.fileSize>200*1024){alert("文件大小不能大于200K!");pflag=false;return false;}else{pflag=true;document.Form1.submit();return true; }}function postall(){ for(var j=0;j<9;j++){ //alert(document.forms[j].name); mysimage = eval("document.Form1"+j+".simage"+j+".value") mytxt = eval("document.Form1"+j+".prevue"+j+".value") if ((mysimage != "") && (mytxt != "")){ document.forms[j].op.value = "do"; document.forms[j].OnSubmit = ""; document.forms[j].submit(); } }}function ShowProgress(objfile){ var pramStr='&pram='; pramStr=pramStr+objfile.form.aperture.value+','; pramStr=pramStr+objfile.form.shutter.value+','; pramStr=pramStr+objfile.form.isorate.value+','; pramStr=pramStr+objfile.form.exposal.value+','; pramStr=pramStr+objfile.form.retrieve.value+','; pramStr=pramStr+(objfile.form.ps[0].checked?'1':'0')+','; pramStr=pramStr+(objfile.form.photoflash[0].checked?'0':'1')+','; pramStr=pramStr+objfile.form.lens.value+','; //alert(pramStr); pramStr=pramStr+objfile.form.film.value+','; objfile.form.action=objfile.form.action+pramStr; s();return false; strAppVersion = navigator.appVersion; if (pflag) { alert(objfile.form.action); return true; }}</SCRIPT><form id="Form1" method="post" runat="server" enctype="multipart/form-data" onSubmit="return ShowProgress(this.opus);"><INPUT type="file" size="50" runat="server" ID="File1" name="opus"><asp:button id="up" runat="server" Text=" 上 传 "></asp:button> onclick="if (typeof(Page_ClientValidate) == 'function') Page_ClientValidate(); " 能这样写吗 是不是要加javascript 不是啊,那个是 执行aspx页面 之后显示出的HTML源码,关于源码我在楼上贴出了呀,麻烦你帮忙看看是哪里 不对应,谢谢! onclick事件调用时,只要写onclick="check();"function check(){ if (onfirm("请确认您上传的文件是图片文件!")== true) { return true} else { return false}} <input type="submit" name="Photo1:up" value=" 上 传 " onclick="if (typeof(Page_ClientValidate) == 'function') Page_ClientValidate(); " language="javascript" id="Photo1_up" />submit改成button试试了。 alert()方法是显示信息confirm()方法是提问,他显示了带有ok和cancel按钮的对话框如果点击ok,confirm()返回true如果点击cancel,confirm()返回false 如果js有错误的话,是会直接提交的。。试试把internet选项->高级->禁止脚本调试的钩打掉。看看会不会是js里哪里有错 回复小宝:我把<asp:button id="up" runat="server" Text=" 上 传 "></asp:button>改成<asp:button id="up" runat="server" Text=" 上 传 " onclick="check();"></asp:button>在aspx代码中加入<script language="javascript">function check(){ if (onfirm("请确认您上传的文件是图片文件!")== true) { return true} else { return false}}</script>这样在页面执行时,提示:编译器错误信息: CS1026: 应输入 )行 27: <td align="center" width="100%" height="73"><asp:button id="up" runat="server" Text=" 上 传 " onclick=check();></asp:button>不行呀 回 cnhgj(戏子▄︻┳═一打你家玻璃): 没有呀,我没有禁止JS, 估计是里面的form input的name id 等的值与javascript代码里的不一致,有没有高手帮忙改正一下呀? private const string SCP_NUMBER_ONLY_SCRIPT_ID="{29FD7A41-49FD-4fc4-AFA9-6A0B875A1A51}";private const string SCP_NUMBER_ONLY_HOOK="return Virty(this);";private const string SCP_NUMBER_ONLY_SCRIPT="<script language=\"JavaScript1.2\">\nfunction Virty (ctrl)\n{{\n"+"if (event.keyCode == 13)\n return true;\n if (event.keyCode < 48 || event.keyCode > 57)\n alert('请输入数字!');\n }}"+"</script>";private void RenderJavaScript() { if(!Page.IsClientScriptBlockRegistered(SCP_NUMBER_ONLY_SCRIPT_ID)) Page.RegisterClientScriptBlock (SCP_NUMBER_ONLY_SCRIPT_ID,string.Format(SCP_NUMBER_ONLY_SCRIPT,base.ID)); }///RenderJavaScript();YourButton.Attributes.Add("OnClick",SCP_NUMBER_ONLY_HOOK); 回: Octer(学习中....)你给的是 CS的代码啊,楼主要的是 ASPX页中的代码啊,就是不在codebehind那里面写,在aspx的HTML代码里写 to x88(小东) 这好像没什么分别呵呵!客户段代码写在这里:SCP_NUMBER_ONLY_SCRIPT至于C#代码是否在codebehind好象都一样我给的代码是一个解决的办法,具体实现还是自己去写了 to:Octer(学习中......) 具体怎么个写法呀????????? 能不能贴一下简单的例子 C#的 对不起,打错了<script language="javascript">function check(){ if (onfirm("请确认您上传的文件是图片文件!")== true) { return true} else { return false}}</script>中onfirm改成confirm 回 ziying2004(小宝) :你的方法我试了一下,加了之后,与服务器端控件发生冲突,即出现错误信息,找不到该定义 回小宝: 不是啊 我用的是要带 runat="server" 的控件 Button2是控件的id,试试<script language=javascript event=onclick for="Button2"> if (confirm("Are you sure!")== true) { return true ; }else { return false; } </script> 后台JS中写的\"转义到界面输出变成了"怎么解决? 求帮忙 【基础问题】变量申明后的值 很想知道QQ数据库的结构设计 各位大侠,我想动态命名datagrid模版列中textbox的id,怎么才能实现呀 asp.net 中怎么在DATELIST 中匹配一个变量 數字轉換 求助,跳转页中加入新建窗口页代码 请大家给些意见,我想做一个考试系统 看看,关于地址栏参数查询!! 关于绑定dropdownlist默认值的问题,为什么默认值为空 在线等待解决:第一次进网页的时候我要dropdownlist的text区域为空的,帮我看看下面的代码,怎么把第一项值都变为空了?
<script>
var img=null;
var pflag=false;
function s()
{
if(document.Form1.opus.value!=""){
if(img)img.removeNode(true);
img=document.createElement("img");
img.style.position="absolute";
img.style.visibility="hidden";
img.attachEvent("onreadystatechange",orsc);
img.attachEvent("onerror",oe);
document.body.insertAdjacentElement("beforeend",img);
img.src=document.Form1.opus.value;}
else{
alert("请选择文件!");
pflag=false;
return false;}
}
function oe()
{
alert("请确认您上传的文件是图片文件!");
pflag=false;
return false;
}
function orsc()
{
if(img.readyState!="complete"){pflag=false;return false;}
if(img.fileSize>200*1024){
alert("文件大小不能大于200K!");pflag=false;return false;}
else{
pflag=true;
document.Form1.submit();
return true;
}
}function postall(){
for(var j=0;j<9;j++){
//alert(document.forms[j].name);
mysimage = eval("document.Form1"+j+".simage"+j+".value")
mytxt = eval("document.Form1"+j+".prevue"+j+".value")
if ((mysimage != "") && (mytxt != "")){
document.forms[j].op.value = "do";
document.forms[j].OnSubmit = "";
document.forms[j].submit();
}
}
}function ShowProgress(objfile)
{
var pramStr='&pram=';
pramStr=pramStr+objfile.form.aperture.value+',';
pramStr=pramStr+objfile.form.shutter.value+',';
pramStr=pramStr+objfile.form.isorate.value+',';
pramStr=pramStr+objfile.form.exposal.value+',';
pramStr=pramStr+objfile.form.retrieve.value+',';
pramStr=pramStr+(objfile.form.ps[0].checked?'1':'0')+',';
pramStr=pramStr+(objfile.form.photoflash[0].checked?'0':'1')+',';
pramStr=pramStr+objfile.form.lens.value+',';
//alert(pramStr);
pramStr=pramStr+objfile.form.film.value+',';
objfile.form.action=objfile.form.action+pramStr;
s();
return false;
strAppVersion = navigator.appVersion;
if (pflag)
{
alert(objfile.form.action);
return true; }
}
</SCRIPT><form id="Form1" method="post" runat="server" enctype="multipart/form-data" onSubmit="return ShowProgress(this.opus);">
<INPUT type="file" size="50" runat="server" ID="File1" name="opus">
<asp:button id="up" runat="server" Text=" 上 传 "></asp:button>
if (onfirm("请确认您上传的文件是图片文件!")== true)
{ return true}
else
{ return false}
}
confirm()方法是提问,他显示了带有ok和cancel按钮的对话框
如果点击ok,confirm()返回true
如果点击cancel,confirm()返回false
试试把internet选项->高级->禁止脚本调试的钩打掉。看看会不会是js里哪里有错
我把<asp:button id="up" runat="server" Text=" 上 传 "></asp:button>
改成<asp:button id="up" runat="server" Text=" 上 传 " onclick="check();"></asp:button>在aspx代码中加入
<script language="javascript">
function check(){
if (onfirm("请确认您上传的文件是图片文件!")== true)
{ return true}
else
{ return false}
}
</script>这样在页面执行时,提示:编译器错误信息: CS1026: 应输入 )
行 27: <td align="center" width="100%" height="73"><asp:button id="up" runat="server" Text=" 上 传 " onclick=check();></asp:button>不行呀
private const string SCP_NUMBER_ONLY_SCRIPT_ID="{29FD7A41-49FD-4fc4-AFA9-6A0B875A1A51}";
private const string SCP_NUMBER_ONLY_HOOK="return Virty(this);";
private const string SCP_NUMBER_ONLY_SCRIPT="<script language=\"JavaScript1.2\">\nfunction Virty (ctrl)\n{{\n"+"if (event.keyCode == 13)\n return true;\n if (event.keyCode < 48 || event.keyCode > 57)\n alert('请输入数字!');\n }}"+"</script>";
private void RenderJavaScript()
{
if(!Page.IsClientScriptBlockRegistered(SCP_NUMBER_ONLY_SCRIPT_ID))
Page.RegisterClientScriptBlock (SCP_NUMBER_ONLY_SCRIPT_ID,string.Format(SCP_NUMBER_ONLY_SCRIPT,base.ID));
}
///
RenderJavaScript();
YourButton.Attributes.Add("OnClick",SCP_NUMBER_ONLY_HOOK);
你给的是 CS的代码啊,楼主要的是 ASPX页中的代码啊,就是不在codebehind那里面写,在aspx的HTML代码里写
呵呵!
客户段代码写在这里:SCP_NUMBER_ONLY_SCRIPT
至于C#代码是否在codebehind好象都一样
我给的代码是一个解决的办法,具体实现还是自己去写了
具体怎么个写法呀????????? 能不能贴一下简单的例子 C#的
<script language="javascript">
function check(){
if (onfirm("请确认您上传的文件是图片文件!")== true)
{ return true}
else
{ return false}
}
</script>中onfirm改成confirm
你的方法我试了一下,加了之后,与服务器端控件发生冲突,即出现错误信息,找不到该定义
不是啊 我用的是要带 runat="server" 的控件
<script language=javascript event=onclick for="Button2">
if (confirm("Are you sure!")== true)
{ return true ;
}else
{ return false;
}
</script>