Ich verwende das Plugin JQuery-Zyklus (mit Attributen in einer separaten Website breite benutzerdefinierte js-Datei definiert), um zwischen den zwei Seiten (von Tabellen getrennt) einer Form. Jede Seite hat eine eigene Validierungsgruppe für die Steuerelemente auf dieser Seite. Die erste Seite hat eine "Weiter" -Schaltfläche, die beim Klicken die Seitenvalidierung für die erste Validierungsgruppe auslöst. Wenn dies fehlschlägt, werden die QuickInfos angezeigt, damit der Benutzer die Informationen korrigieren kann. Wenn die Validierung erfolgreich ist, wird der nächste Zyklusbefehl aufgerufen.JQuery Cycle-Plugin muss Zyklus zum nächsten Dia auf Post zurück, wenn Validierungsgruppe nicht gültig
$('#request-information').cycle('next');
Auf der zweiten Seite sind die Steuerelemente in einer zweiten Validierungsgruppe mit der Übermittlungsschaltfläche gruppiert. Wenn auf die Schaltfläche "Senden" geklickt wird, wird die serverseitige Validierung ausgelöst. Wenn dies fehlschlägt, wird die Seite beim Postback neu geladen. All dies funktioniert, außer wenn die zweite Seite fehlschlägt Ich möchte, dass das Formular auf der zweiten Seite bleibt. Wenn also die Webseite neu geladen wird, weil die zweite Seite des Formulars nicht validiert werden konnte, muss ich entweder die Startfolie auf die zweite Seite des Formulars setzen oder, wenn das nicht möglich ist, zumindest den nächsten Zyklusbefehl auslösen.
Es sieht nicht so aus, als ob ich den startingsslide einfach auf die zweite Seite des Formulars setzen kann, da dies die anderen definierten Attribute der Zyklusfunktion, die in der separaten js-Datei gesetzt sind, überschreibt.
Wer weiß also, wie man beim Laden der Postback-Seite zur zweiten Folie vorrückt, je nachdem, ob die zweite Validierungsgruppe beim Klicken auf die Schaltfläche zum Senden fehlgeschlagen ist? Oder sollte ich mit viewstate etwas anderes machen?
Leider ist dies eine lange umständliche Frage. Hoffnung ist klar und nicht verwirrend. Danke
Wow, vielen Dank für die tolle Antwort.Danke dass du dir die Zeit nimmst. Es ist sehr klar und ich fummle jetzt damit. Das wird für mich funktionieren. Vielen Dank, dass Sie mich mit der Funktion $ .extend vertraut gemacht haben. Ich wusste, dass es einen Weg geben musste, um Eigenschaften hinzuzufügen, konnte einfach nicht herausfinden, wie. – Dmase05
@ DMase05: BTW, '$ .extend()' modifiziert sein erstes Argument, daher sollten Sie ein leeres Objekt als erstes Argument angeben, wenn das wichtig ist: 'x = $ .extend ({}, a, b, ...) ; '. jQuery hat viele kleine Hilfsprogramme, von denen die Leute nicht zu wissen scheinen: http://api.jquery.com/category/utilities/. Prost. –