Frage

Hier ist das Problem:

Meine Seite zeigt eine Reihe von Elementen. Jedes Element hat ein Kontrollkästchen zugeordnet (die Teil eines Formulars ist). Benutzer kann überprüft jede dieses Kontrollkästchen, und drücken Sie auf ‚Löschen‘ -Taste. Die gleiche Seite hat auch eine ‚Hochladen‘ Schaltfläche, die eine Excel-Tabelle der Elemente laden würde. Im Moment meine Form Aktion sumbits zu sagen: „xyzAction“ und ich habe zwei verschiedene Handler (analog zu Struts Action) - ein für das Löschen von Geschäften und andere für Läden hochladen.

Man hat mir gesagt, dass der beste Weg, dies zu tun, ist auf Javascript angewiesen durch eines von diesen zu tun: 1)) Schalt Form Aktion auf drücken Lade und löschen Tasten - dort aufrufen verschiedene Aktionen. 2) Verwenden Sie eine versteckte Variable „act“ es einrichten löschen / upload und legt auf eine einzige Form. Die serverseitige Aktion würde den Akt der Identifizierung und Weiterleitung an die entsprechende Aktion kümmern.

Ansatz (1) - scheint mir sehr unelegant. Das Spiel mit Form Aktion scheint überflüssig. Ansatz (2) -. Wäre natürlich nicht, wenn Javascript deaktiviert ist und nicht sehr elegant entweder

Es muss ein dritte Weg, dies zu tun ?, was mich glücklich machen würde?

War es hilfreich?

Lösung

Sie müssen die HTML bekommen richtig zuerst.

Sie haben zwei verschiedene Aktionen, so sollten Sie zwei Formen haben - eine gute Faustregel, dass jede Form sollte man nur Schaltfläche einreichen. Dies ist die beste Praxis für HTML und stellt sicher, dass die Seite funktioniert ohne JS oder andere Tricks.

Wenn Sie die Seite arbeiten wie diese haben, verwenden Sie JS das DOM zu manipulieren, um die Benutzeroberfläche zu erzeugen, die Sie benötigen. Dies wird JS mit behvour auf die Benutzeroberfläche hinzufügen und ist beste Praxis für die unauffällige JS.

(Wenn Sie wirklich wollen, um Ihre Aktionen in einer einzigen Form verschmelzen, um die Aktion des Formulars mit JS zu ändern ist die beste Vorgehensweise. Aber überlegen, was passieren würde, wenn ein Benutzer ein Kontrollkästchen überprüft und ändern dann ihren Geist und Lädt eine Datei das Kontrollkästchen aktiviert zu verlassen. Sie sollten darauf achten, dass dies alles nicht gelöscht werden soll).

Andere Tipps

Es klingt wie Sie zwei unterschiedliche Formen benötigen, für die zwei verschiedenen Aktionen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top