neatupload组件与js冲突 100分求助 页面中同时使用neatupload组件和在服务器控件绑定js来验证表单.验证表单不起作用.单独使用js可以正常验证.怀疑是neatupload和js冲突. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用JS验证neatupload组件和表单吗??代码贴出来看看. 页面:<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="Apply_Manage_test" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><%@ Register Assembly="Brettle.Web.NeatUpload" Namespace="Brettle.Web.NeatUpload" TagPrefix="Upload" %><html xmlns="http://www.w3.org/1999/xhtml" ><head runat="server"> <title>无标题页</title> <script type="text/javascript"> function test() { if(document.getElementById("TextBox_Title").value.length==0) { alert("error"); return false; } } </script></head><body> <form id="form1" runat="server"> <div> <Upload:InputFile ID="InputFile1" runat="server" /> <Upload:ProgressBar ID="ProgressBar1" runat="server" Triggers="UploadButton" Inline="true" > </Upload:ProgressBar> <br /> <br /> <br /> <asp:TextBox ID="TextBox_Title" runat="server"></asp:TextBox><br /> <br /> <asp:Button ID="Button_Add" runat="server" Text="Button" /> </div> </form></body></html>代码using System;using System.Data;using System.Configuration;using System.Collections;using System.Web;using System.Web.Security;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.WebControls.WebParts;using System.Web.UI.HtmlControls;public partial class Apply_Manage_test : System.Web.UI.Page{ protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { this.Button_Add.Attributes.Add("onclick","return test();"); } }}去掉<Upload:InputFile ID="InputFile1" runat="server" /> <Upload:ProgressBar ID="ProgressBar1" runat="server" Triggers="UploadButton" Inline="true" > </Upload:ProgressBar>这个组件js可以正常使用.如果加上js弹出"error"信息后 回发服务器. js未起到作用. 去掉 <Upload:InputFile ID="InputFile1" runat="server" /> <Upload:ProgressBar ID="ProgressBar1" runat="server" Triggers="UploadButton" Inline="true" > </Upload:ProgressBar> 这个组件,js可以正常使用. 如果加上js弹出"error"信息后 回发服务器. js未起到作用. 少了个逗号 容易误解. 我也感觉不是冲突的问题,看看 neatupload 源码 我这里没出现问题啊,你的js函数不是能正常验证表单??如果TextBox_Title就未提交表单 可以正常验证表单.楼上兄弟加上 <Upload:InputFile ID="InputFile1" runat="server" /> <Upload:ProgressBar ID="ProgressBar1" runat="server" Triggers="UploadButton" Inline="true" > </Upload:ProgressBar> 可以正常验证表单? 可以啊,我就是把你的代码拷贝后然后运行的,可以验证表单,如果TextBox_Title为空没有提交表单 15楼兄弟,我重新测试了下,还是不通过.测试环境 IE7 1.2.17版本 和 1.1.3版本都测试了.都不通过.web.config 配置 <httpRuntime maxRequestLength="2097151" /> <httpModules> <add name="UploadHttpModule" type="Brettle.Web.NeatUpload.UploadHttpModule, Brettle.Web.NeatUpload" /> </httpModules> ie6+iis6+win2003,NeatUpload版本1.2.3032.36311没出现你说的情况,下面是我测试用的代码...<%@ Page Language="C#"%><%@ Register Assembly="Brettle.Web.NeatUpload" Namespace="Brettle.Web.NeatUpload" TagPrefix="Upload" %> <script runat="server"> protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { this.Button_Add.Attributes.Add("onclick","return test();"); } }</script><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" > <head runat="server"> <title>无标题页 </title> <script type="text/javascript"> function test() { if(document.getElementById("TextBox_Title").value.length==0) { alert("error"); return false; } } </script> </head> <body> <form id="form1" runat="server"> <div> <Upload:InputFile ID="InputFile1" runat="server" /> <Upload:ProgressBar ID="ProgressBar1" runat="server" Triggers="UploadButton" Inline="true" > </Upload:ProgressBar> <br /> <br /> <br /> <asp:TextBox ID="TextBox_Title" runat="server"> </asp:TextBox> <br /> <br /> <asp:Button ID="Button_Add" runat="server" Text="Button"/> </div> </form> </body> </html> To 楼主刚下个NeatUpload-1.2.28版并复制了楼主的代码试了几次,运行时验证表单是没问题的!!TextBox_Title为空时就弹出Error,没有回传服务器~我的环境VS2008+IE7.0,其它的没配置过~ 我知道你们为什么可以正常运行了没有设置web.config<httpRuntime maxRequestLength="2097151" /> <httpModules> <add name="UploadHttpModule" type="Brettle.Web.NeatUpload.UploadHttpModule, Brettle.Web.NeatUpload" /> </httpModules> 如果不设置的话NeatUpload是无法正常运行的.不能上传大文件.如果你选择一个大文件上传的话.会出现错误在设置web.config后.浏览网页.右键源代码,NeatUpload会产生很多js 按楼主的配置又试了下,确实有这问题,我把进度条去了就好了~所以应该是跟进度条的JS有冲突,看页面源代码里也有个onsubmit的验证函数,所以会冲突。。<form name="form1" method="post" action="default8.aspx" onsubmit="javascript:return WebForm_OnSubmit();" id="form1" enctype="multipart/form-data"> 把验证函数放到form的onsubmit里可以验证表单TextBox_Title为空时就弹出Error,没有回传服务器~ 但InputFile1有值时还是会回传服务器。。<form id="form1" runat="server" onsubmit="javascript:return test()"> 问题已经解决谢谢各位..主要是NeatUpload产生的onsubmit事件onsubmit="javascript:return WebForm_OnSubmit();无论表单验证是否成功.都会执行WebForm_OnSubmit();在页面中重写WebForm_OnSubmit()方法,既可.结贴. 谢谢 To xiaowang008 : 我现在也碰到了你说的问题。请问你说的 "在页面中重写WebForm_OnSubmit()方法",具体该怎么写,能贴出代码吗? 谢谢了 现在我只是 用js控制那个“提交”的按钮,如果你的文本框是空 就disable你的提交按钮,这样就可以满足你的表单需求,而不触发upload事件 <script type="text/javascript"> function WebForm_OnSubmit() { if(document.getElementById("TextBox_Title").value.length==0) { alert("error"); return false; } NeatUpload_OnSubmitForm_aspnetForm(); return true; }</script> 这样重写一个WebForm_OnSubmit()就可以了!!! 我也碰到过这样的问题,解决方法:<script type="text/javascript"> Page_IsValid=false; function test() { if(document.getElementById("TextBox_Title").value.length==0) { alert("error"); return false; } } </script> 因为在NeatUpload.js中又重定义submit,所以js验证发生冲突 我碰到一个问题,就是配置好上传控件后,我的所有提交保存的程序都报错,把web.config中的配置去掉就好了,这是怎么回事,还有就是我用了个简单的方法,把上传组件放到一个文件夹下,在这个文件夹下建立了一个web.config,目的是怕影响其他的程序,然后大文件就传不上去了。 UP UP 我想知道怎么解决的 乱码问题 repeater控件左侧有空白 多个类,类名相同,文件名不同,编译可以通过? 悬停在DataList的ID项中,显示其ID的详细信息.怎么做? yxshop易想商城 的模板怎么做? datagrid里的一个问题 难题~~~~CheckBoxList中CheckBox的样式表怎么设定? ihttpmodule 无法 捕获 自定义异常 我有个小C/S程序需要在客户端安装,有没有什么办法在客户打开IE登录系统时,检查客户端,若没有安装,为其自动下载并自动安装? 请问一个计时的问题! string是什么类型 如何将ASP.NET项目转换成ASP(求救啦)
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="Apply_Manage_test" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><%@ Register Assembly="Brettle.Web.NeatUpload" Namespace="Brettle.Web.NeatUpload" TagPrefix="Upload" %><html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页</title>
<script type="text/javascript">
function test()
{
if(document.getElementById("TextBox_Title").value.length==0)
{
alert("error");
return false;
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<Upload:InputFile ID="InputFile1" runat="server" />
<Upload:ProgressBar ID="ProgressBar1" runat="server" Triggers="UploadButton" Inline="true" >
</Upload:ProgressBar>
<br />
<br />
<br />
<asp:TextBox ID="TextBox_Title" runat="server"></asp:TextBox><br />
<br />
<asp:Button ID="Button_Add" runat="server" Text="Button" />
</div>
</form>
</body>
</html>代码using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;public partial class Apply_Manage_test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.Button_Add.Attributes.Add("onclick","return test();");
}
}
}去掉
<Upload:InputFile ID="InputFile1" runat="server" />
<Upload:ProgressBar ID="ProgressBar1" runat="server" Triggers="UploadButton" Inline="true" >
</Upload:ProgressBar>
这个组件js可以正常使用.
如果加上js弹出"error"信息后 回发服务器. js未起到作用.
<Upload:InputFile ID="InputFile1" runat="server" />
<Upload:ProgressBar ID="ProgressBar1" runat="server" Triggers="UploadButton" Inline="true" >
</Upload:ProgressBar>
这个组件,
js可以正常使用.
如果加上js弹出"error"信息后 回发服务器. js未起到作用. 少了个逗号 容易误解.
我这里没出现问题啊,你的js函数不是能正常验证表单??如果TextBox_Title就未提交表单
<Upload:InputFile ID="InputFile1" runat="server" />
<Upload:ProgressBar ID="ProgressBar1" runat="server" Triggers="UploadButton" Inline="true" >
</Upload:ProgressBar>
可以正常验证表单?
<httpRuntime maxRequestLength="2097151" />
<httpModules>
<add name="UploadHttpModule" type="Brettle.Web.NeatUpload.UploadHttpModule, Brettle.Web.NeatUpload" />
</httpModules>
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.Button_Add.Attributes.Add("onclick","return test();");
}
}</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>无标题页 </title>
<script type="text/javascript">
function test()
{
if(document.getElementById("TextBox_Title").value.length==0)
{
alert("error");
return false;
}
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<Upload:InputFile ID="InputFile1" runat="server" />
<Upload:ProgressBar ID="ProgressBar1" runat="server" Triggers="UploadButton" Inline="true" >
</Upload:ProgressBar>
<br />
<br />
<br />
<asp:TextBox ID="TextBox_Title" runat="server"> </asp:TextBox> <br />
<br />
<asp:Button ID="Button_Add" runat="server" Text="Button"/>
</div>
</form>
</body>
</html>
刚下个NeatUpload-1.2.28版
并复制了楼主的代码试了几次,运行时验证表单是没问题的!!
TextBox_Title为空时就弹出Error,没有回传服务器~
我的环境VS2008+IE7.0,其它的没配置过~
<httpModules>
<add name="UploadHttpModule" type="Brettle.Web.NeatUpload.UploadHttpModule, Brettle.Web.NeatUpload" />
</httpModules> 如果不设置的话NeatUpload是无法正常运行的.不能上传大文件.如果你选择一个大文件上传的话.会出现错误在设置web.config后.浏览网页.右键源代码,NeatUpload会产生很多js
我把进度条去了就好了~
所以应该是跟进度条的JS有冲突,
看页面源代码里也有个onsubmit的验证函数,所以会冲突。。
<form name="form1" method="post" action="default8.aspx" onsubmit="javascript:return WebForm_OnSubmit();" id="form1" enctype="multipart/form-data">
TextBox_Title为空时就弹出Error,没有回传服务器~
但InputFile1有值时还是会回传服务器。。
<form id="form1" runat="server" onsubmit="javascript:return test()">
我现在也碰到了你说的问题。
请问你说的 "在页面中重写WebForm_OnSubmit()方法",具体该怎么写,能贴出代码吗?
谢谢了
function WebForm_OnSubmit() {
if(document.getElementById("TextBox_Title").value.length==0)
{
alert("error");
return false;
}
NeatUpload_OnSubmitForm_aspnetForm();
return true; }
</script>
Page_IsValid=false;
function test()
{
if(document.getElementById("TextBox_Title").value.length==0)
{
alert("error");
return false;
}
}
</script> 因为在NeatUpload.js中又重定义submit,所以js验证发生冲突