Frage

ich zur Zeit schreibe eine edit-in-place-Skript für MooTools und ich bin ein wenig ratlos, wie ich kann es anmutig ohne JavaScript machen degradieren, während immer noch eine gewisse Funktionalität. Ich möchte in irgendeiner Weise progressive Erweiterung verwenden. Ich bin nicht auf der Suche nach Code, sondern eher ein Konzept, wie man die Situation nähern würde. Wenn Sie irgendwelche Ideen haben oder wissen, dass edit-in-place-Skripte, die ordnungsgemäß beeinträchtigen, bitte teilen.

War es hilfreich?

Lösung

Es klingt wie Sie dies aus der falschen Richtung nähern könnten. Anstatt die edit-in-place zu schaffen und es schön (die Graceful Degradation Winkel) abbauen bekommen, sollten Sie wirklich eine nicht-Javascript-Version für die Bearbeitung werden das Erstellen und dann das edit-in-place Javascript nach dem Laden der Seite mit, reffered zu wie Progressive Enhancement .

Es gibt zwei Möglichkeiten. Erstellen Sie die Anzeige als eine Form mit einem Submit-Button, der ohne Javascript funktioniert, dann mit Javascript die Eingänge mit irgendeiner Art von Etikett ersetzen, die die edit-in-place führt. Sie sollten eine Kombination von Etiketten verwenden können und id-Attribute, die richtigen Eigenschaften für die Edit-in-Place-Implementierung herausgreifen zu arbeiten. Die andere Option, wenn Sie nicht ein Formular standardmäßig angezeigt werden sollen, die Werte mit einem Button / Link angezeigt werden, um es in eine Form mit serverseitige Verarbeitung drehen, dann das Bearbeiten-in-palce darauf.

Andere Tipps

Sie können nicht tun edit-in-place überhaupt ohne JavaScript, so Graceful Degradation dafür, sicherzustellen, bestehen darin, dass der Benutzer kann immer noch das Element in Frage bearbeiten, wenn JavaScript nicht verfügbar ist.

Als solches würde ich nur einen Link haben den gesamten Artikel in Frage zu bearbeiten und erstellen dann die Edit-in-Place-Steuerelemente in JavaScript auf Seite laden, versteckt auf den Link Bearbeiten, wenn Sie lieber als Benutzer verwenden Editier- in-place, wenn verfügbar.

Wenn es Textinhalt ist, können Sie die editierbaren Inhalt als Eingabetyp Taste einreichen konnten zeigen, mit wie der Inhalt Beschriftung. Wenn Sie darauf klicken, wäre es das gesamte Formular abgesendet hat, die anderen Werte zu bewahren, und zeigt einen Bearbeitungsdialog. Danach wird die Formularwerte wieder hergestellt werden können.

setzen Vielleicht eine Eingabe in einem div unter jedem Element, das bearbeitet-in-Platz hat. Wenn die Seite geladen wird, verwenden Sie Javascript diese divs zu verstecken. Auf diese Weise werden sie nur genutzt werden, wenn die Javascript nie ausgelöst.

Versuchen Sie, einen Stil Eingabe von Text verwendet wird, und nach der Seite geladen es nur lesbar machen, die Nur-Lese-Attribut. und wenn Sie darauf klicken Sie auf das Read-only-Attribut entfernen, und onblur es nur lesbar wieder machen. wenn Sie auf die Schaltfläche „Speichern“ oder auf onblur Ereignis eine Ajax-Anfrage machen die Daten auf dem Server zu speichern.

scroll top