国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
ASP.NET驗(yàn)證控件客戶端驗(yàn)證成功或失敗之后執(zhí)行js腳本(原創(chuàng))
要求:表單中用了驗(yàn)證控件,如何能在驗(yàn)證控件的客戶端腳本驗(yàn)證成功之后,執(zhí)行一段js腳本,比如彈出確認(rèn)框,然后再提交,點(diǎn)取消則不提交。如果驗(yàn)證控件沒(méi)通過(guò),比如用戶沒(méi)填名字的話,不會(huì)提交。
網(wǎng)上看了一些文章,有的說(shuō)不可能,有的則是使用服務(wù)端代碼,需要提交頁(yè)面后才能正確執(zhí)行。

下面的代碼的測(cè)試環(huán)境是VS.NET2008+IE8,沒(méi)有后臺(tái)代碼:
原理:ASP.NET驗(yàn)證控件在生成網(wǎng)頁(yè)的時(shí)候會(huì)變成一大堆的客戶端 Javascript 腳本,用來(lái)在客戶端驗(yàn)證。
1. 先敲入以下代碼(ValidateControl.aspx)
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="ValidateControl.aspx.cs" Inherits="ValidateControl" %>
<!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>驗(yàn)證控件,成功后確認(rèn)是否提交數(shù)據(jù)</title>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    
        <asp:Label ID="Label1" runat="server" Text="用戶名:"></asp:Label>
        <asp:TextBox ID="TextBox1" runat="server"></asp:TextBox>
        <asp:RequiredFieldValidator ID="RequiredFieldValidator1" runat="server"
            ControlToValidate="TextBox1" ErrorMessage="用戶名必須輸入!"></asp:RequiredFieldValidator>
        

        <asp:Button ID="Button1" runat="server" Text="提交" />
    
    </div>
    </form>
</body>
</html>

2. 運(yùn)行該頁(yè)面,在IE中“查看原文件”
生成下面這些關(guān)鍵代碼(摘錄關(guān)鍵的幾行):
...
<formname="form1" method="post" action="ValidateControl.aspx" language="javascript" onsubmit="javascript:return WebForm_OnSubmit();" id="form1">
...
function WebForm_OnSubmit() {

if (typeof(ValidatorOnSubmit) == "function" && ValidatorOnSubmit() == false) return false;

return true;
}

可以看出form1表單是通過(guò)WebForm_OnSubmit函數(shù)驗(yàn)證,如果返回false則表示失敗,不提交數(shù)據(jù);true提交數(shù)據(jù)
而WebForm_OnSubmit函數(shù)又是調(diào)用ValidatorOnSubmit函數(shù)來(lái)執(zhí)行驗(yàn)證的,ValidatorOnSubmit返回false表示驗(yàn)證失敗。

3. 利用ValidatorOnSubmit函數(shù)驗(yàn)證控件
回到第一步最初的代碼,將<form id="form1" runat="server">改成:
    <form id="form1" runat="server" onsubmit="if(ValidatorOnSubmit() == true) return confirm('確認(rèn)提交數(shù)據(jù)嗎?');">

再次運(yùn)行ValidateControl.aspx頁(yè)面,實(shí)現(xiàn)了最初的目的。
再次在IE中“查看源文件”WebForm_OnSubmit函數(shù)被改成了:
function WebForm_OnSubmit() {
if (typeof(ValidatorOnSubmit) == "function" && ValidatorOnSubmit() == false) return false;if
(ValidatorOnSubmit() == true) return confirm('確認(rèn)提交數(shù)據(jù)嗎?');
return true;
}

基于以上原理,還可以把代碼簡(jiǎn)化為:
    <form id="form1" runat="server" onsubmit="return confirm('確認(rèn)提交數(shù)據(jù)嗎?');">
你可以通過(guò)這種方式插入自己想要的js代碼。

引用本文請(qǐng)保留連接: http://user.qzone.qq.com/707043659/blog/1248879424
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
ScriptManager.RegisterStartupScript方法
JS給ASP.NET控件賦值
ASP.NET驗(yàn)證控件之CustomValidator
對(duì)于C#中的FileUpload解決文件上傳大小限制的問(wèn)題設(shè)置
[jQuery]使用jQuery.Validate進(jìn)行客戶端驗(yàn)證(初級(jí)篇)——不使用微軟驗(yàn)...
淺談ASP.NET中如何使用AJAX中的方式-.Net編程教程-模板無(wú)憂_www.Mb5u...
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服