To do something along the lines of this you can place an OnClientClick event on the submit button or just the general form submission event.
Then you can use the Client Validation Object Model
with the validator controls. This actually allows you to verify each of the validation controls you've setup. There are a couple of values you can check against from the client relating to the page, see http://msdn.microsoft.com/en-us/library/yb52a4x0.aspx#ClientSideValidation_ClientValidationObjectModel.
You reference each control with isvalid
property. For example
<asp:Label id="lblZip" runat="server" Text="Zip Code:" />
<asp:TextBox id="txtZip" runat="server" /></asp:TextBox>
<asp:RegularExpressionValidator id="valZip" runat="server"
ControlToValidate="txtZip"
ErrorMessage="Invalid Zip Code"
ValidationExpression="[0-9]{5}" />
<script language=javascript>
// Call this function to do something
function txtZipOnChange() {
// Do nothing if client validation is not active
if (typeof(Page_Validators) == "undefined") return;
// Change the color of the label
lblZip.style.color = valZip.isvalid ? "Black" : "Red";
}
</script>
You can also get an array of the validators on the page with the client function Page_Validators
. There are a few more functions you can use.
Also you may use the ValidatorValidate(val)
client function to force a check of each one indivually as well as ValidatorEnable(val, enable)
to enable or disable validators as your logic demands.
Take a look at http://msdn.microsoft.com/en-us/library/aa479045.aspx#aspplusvalid_clientside for a bit more detail.
Hopefully this gets you where you need to go. If not, feel free to ask.
Previous Comment
You can use an onClientClick
and attach a JavaScript function. http://msdn.microsoft.com/en-us/library/7ytf5t7k.aspx
If you want to use jQuery, you can use ClientIDMode
you are able easier to figure out control IDs.
Take a look at http://weblogs.asp.net/scottgu/archive/2010/03/30/cleaner-html-markup-with-asp-net-4-web-forms-client-ids-vs-2010-and-net-4-0-series.aspx.
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…