page:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="test.aspx.cs" Inherits="Apply_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>NeatUpload test</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>
<asp:Button ID="UploadButton" runat="server" Text="上传附件" />
<br />
<asp:TextBox ID="TextBox_Title" runat="server"> </asp:TextBox> <br />
<br />
<asp:Button ID="Button_Add" runat="server" Text="添加" />
</div>
</form>
</body>
</html>
code:
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_test : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
this.Button_Add.Attributes.Add("onclick","return test();");
}
}
}
以上代码 添加按钮,实现验证表单.如果TextBox_Title 如果为空则提示"Error"并停止提交.
但是在提交的时候弹出"Error"后,回发服务器.
仔细查看发现NeatUpload为Form表单添了OnSubmit事件.无论在test()函数中返回true or false 都会执行OnSubmit事件 ,永远提交.
只要在页面中重写NeatUpload添的OnSubmit事件既可.
页面中有2个button按钮,为了区分是上传还是添加.
1.在页面中添加隐藏表单Hidden_Button
2.在test()函数中更改Hidden_Button值为add
3.为上传按钮添加函数,更改Hidden_Button值为upload
4.在页面最下端添加
<script type="text/javascript">
function WebForm_OnSubmit()
{
if(document.getElementById("Hidden_Button").value=="add")
{
执行表单验证
}
else {
//上传文件
NeatUpload_OnSubmitForm_aspnetForm();
return true;
}
}
</script>
本文介绍如何解决NeatUpload组件导致的表单验证失效问题,通过添加额外的客户端脚本来区分不同按钮的点击行为,并实现了有效的表单验证。

3797

被折叠的 条评论
为什么被折叠?



