Auf meinem Absenden-Button, was ich tun möchte, ist OnClick ein "Bitte warten" Panel und versteckt die Schaltfläche, wenn die Validatoren sagen, dass etwas ungültig ist - dann brauche ich die Knöpfe immer noch offensichtlich zu zeigen. Ansonsten habe ich eine Validierungszusammenfassung, die Fehler und keine Möglichkeit zum erneuten Senden zeigt.
Die meisten Artikel, die ich dazu finde, möchten die Page_ClientValidate () - Funktion verwenden, um der Seite mitzuteilen, dass sie sich selbst validieren soll, aber das kommt für mich undefined zurück, ebenso wie die Variable Page_IsValid. Hier ist die Funktion, die ich versuche zu verwenden - was fehlt mir?:
%Vor%Ich glaube, ich habe eine "Art von" Antwort gefunden.
Ich kann immer noch nicht erkennen, warum meine Seite "PageClientValidate ()" oder "Page_IsValid" nicht identifiziert - dieser Teil ist noch nicht beantwortet.
Allerdings verwende ich eine Anzahl von PeterBlum-Validatoren auf der Seite, und diese liefern ein "VAM_ValOnSubmit ()", das wahr / falsch zurückgibt. Das könnte also die Lösung sein. Ich muss nur sicher sein, dass alle Validatoren Peter Blum sind, um sie alle zu fangen.
Nicht die beste Lösung, aber besser als bisher. Ich bin immer noch offen für Antworten auf den Abschnitt "PageIsValid".
ändere diese Zeile "if (typeof (PageValidators) ==" undefined ")" zu if (typeof (Seitenvalidatoren)!="undefiniert")
Laut Abschnitt "Die clientseitige API" auf der Seite " ASP.NET-Validierung" eingehend ":
Page_IsValid | Boolesche Variable | Gibt an, ob die Seite aktuell gültig ist. Die Validierungsskripte halten dies jederzeit auf dem neuesten Stand.
Wenn Sie diese Variable in FireBug auf einem Formular beobachten, bei dem die ASP.NET-Client-seitige Validierung aktiviert ist, wird sie tatsächlich aktualisiert, wenn ich Details des Formulars (falsch oder korrekt) ausfülle.
Wenn Sie das Client-Skript in Ihren Validatoren oder in der Validierungszusammenfassung deaktiviert haben, steht Ihnen diese Variable natürlich nicht zur Verfügung.
Überprüfen Sie einfach
%Vor%Dies funktioniert, wenn Sie Validatoren auf der Seite haben, die die Validierungszusammenfassung ausschließt.
Es gibt einen ASP.Net-Forum-Thread zu diesem Thema: Schaltfläche, die mehrere Klicks verhindert
Hier ist die Lösung (im Code dahinter):
%Vor%Tags und Links javascript asp.net validation