Kann jemand einen ASP.NET-Validator mit JavaScript deaktivieren? Ich verwende JavaScript style.display = 'none', um Teile einer Webseite zu deaktivieren. Allerdings haben diese deaktivierten Teile asp.net Validatoren, die immer noch feuern und ich muss dann deaktivieren, ohne eine Rundreise zum Server zu machen. Danke.Deaktivieren von ASP.NET-Validatoren mit JavaScript
Antwort
Mit diesem Code-Schnipsel:
function doSomething()
{
var myVal = document.getElementById('myValidatorClientID');
ValidatorEnable(myVal, false);
}
Zusätzlich anstatt einfach versteckt Elemente Sie die Visible-Eigenschaft auf false gesetzt könnte ...
whateverItem.Visible = false;
Dies dass Artikel einfach nicht machen macht die Seite, von der ich glaube, dass sie die Validierung deaktiviert. Jemand korrigiert mich bitte, wenn ich falsch liege.
Sie sind korrekt, dass es nicht auf der Seite rendern, aber das erfordert ein Postback, während Javascript nicht funktioniert. –
funktioniert nicht. Auch wenn die Steuerelemente ausgeblendet sind, versucht ein Validator, es zu validieren –
Hier wird detailliert Artikel auf, wie ASP.NET Validatoren von JavaScript zu steuern:
How to control ASP.NET Validator Controls Client Side validation from JavaScript
Dies ist eine alte Frage, aber die folgende Antwort nicht gegeben überrascht. Ich setzte es von den Kommentaren mit oben und funktioniert einwandfrei
# enable validation
document.getElementById('<%=mytextbox.ClientID%>').enabled = true
#disable validation
document.getElementById('<%=mytextbox.ClientID%>').enabled = disable
Diese Implementierung jemand kann tückisch sein, weil erinnern, wenn ein Fehler in Javascript ist, wird der Code verlassen, aber Sie werden nicht alle Fehler erhalten. Einige hilfreiche Punkte
Achten Sie darauf, einen Haltepunkt und kann einzigen Schritt durch den Code einstellen. Wenn nicht, Browser neu starten.
Legen Sie den Haltepunkt am Anfang der Funktion fest, an die Sie diesen Code setzen. Durchlaufen Sie den Code, wenn ein Fehler auftritt, wird der Code beendet und Sie können nicht mehr in den Code einsteigen.
In Firefox Firebug können Sie die gesamte Javascript-Anweisung in der Konsole Registerkarte eingeben, um zu sehen, was Ihre Aussage zurückgibt. Am wichtigsten ist, dass Sie nach Nicht-Null-Werten von Steuerelementen suchen möchten.
Per Glenn G Kommentar oben, würde ich
myVal.enabled = false;
verwenden den Validator statt
ValidatorEnable(myVal, false);
hier zu deaktivieren ist, was ich erlebt: Beide Schnipsel mit auf meinem 2003-Server fein gearbeitet .net Rahmen 2.0. Auf Server 2008 R2 mit .net Framework 4.0 (ich bin mir nicht sicher, was das Problem verursacht), habe ich unbeabsichtigtes Verhalten mit "ValidatorEnable" bekommen. Auf meiner Seite gibt es Registerkarten (usercontrols), und wenn ich die Registerkarte verlassen würde, die "ValidatorEnable" aufruft, werden die Validatoren auf der nächsten Registerkarte vorübergehend deaktiviert (obwohl Code nicht aufgerufen wurde, um sie zu deaktivieren) bis zum nächsten Postback.
Der beste Weg, wie dies zu tun,
function doSomething()
{
var objvalidator = document.getElementById('myValidatorClientID');
objvalidator.enabled = false;
objvalidator.isvalid = true;
ValidatorUpdateDisplay(objvalidator);
}
- 1. Deaktivieren Links mit Javascript
- 2. Leuchtkasten mit JavaScript deaktivieren
- 3. Javascript von einem iframe deaktivieren
- 4. Rails - Deaktivieren select_tag mit Javascript
- 5. Kontextmenü deaktivieren (Rechtsklick) mit Javascript
- 6. deaktivieren/aktivieren asp.net Linkbutton mit Javascript
- 7. Aktivieren/Deaktivieren von Javascript in Firefox 23
- 8. Refreshing Webseite beim Deaktivieren von Javascript
- 9. Ausblenden/Deaktivieren von Text in HTML mit Javascript Datum Objekt
- 10. Deaktivieren/Überschreiben von Javascript aus Webbrowser-Steuerelement mit Inject?
- 11. Deaktivieren Sie eine Gruppe von Optionsfeldern mit Javascript
- 12. "Deaktivieren" eine HTML-Tabelle mit Javascript
- 13. deaktivieren Anker Link fehlgeschlagen mit Javascript
- 14. Wie Sie Kontrollkästchen mit Javascript deaktivieren
- 15. HTML, wie Eingabe mit Javascript deaktivieren?
- 16. Rechtsklick ohne JavaScript deaktivieren
- 17. Javascript deaktivieren Sie alle Cookies
- 18. Deaktivieren von JavaScript bei der Verwendung von Capybara + Selenium
- 19. javascript: Text deaktivieren Wählen Sie
- 20. Deaktivieren/Aktivieren von HTML-Elementen mit AngularJS
- 21. Wie Knopf nach einem Klick mit Validierung mit Javascript deaktivieren?
- 22. Deaktivieren des Browser-Cache in PHP oder Verwendung von Javascript
- 23. können wir den Cursor auf Alarmbox mit Javascript deaktivieren
- 24. Deaktivieren von Steuerelementen in einer Tabelle - JQuery/JavaScript
- 25. JavaScript: Zurücksetzen aller Ereignishandler auf Standardeinstellungen/Deaktivieren von benutzerdefinierten Handlern
- 26. Deaktivieren der Rücktaste in Textfeld über Javascript
- 27. Javascript auf Basis der Bildschirmgröße deaktivieren
- 28. Wie Javascript in mshtml.HTMLDocument deaktivieren (.NET)
- 29. Das Deaktivieren von LinkButton deaktiviert das Klickereignis in JavaScript nicht
- 30. Warum bieten Browser eine Option zum Deaktivieren von Javascript?
Heads-up: das wird nicht für ASP.NET 1.1 mit Firefox http arbeiten: // Stackoverflow.com/questions/3640183/disable-asp-net-1-1-validator-using-javascript-nicht-Working-in-firefox – IrishChieftain
Ein weiteres Problem ist, dass der Validator Server-Seite noch aktiviert ist, die Ihnen als nächstes eine Überraschung geben kann Postback. – JumpingJezza
Dies löst die clientseitige Validierung aus. Verwenden Sie im Snippet anstelle von ValidatorEnable: myVal.enabled = false; Deaktivieren Sie den Validator – GlennG