Ich schreibe in der Hoffnung, herauszufinden, wie angularJS zu lösen, um sein Modell zu aktualisieren, wenn Autovervollständigung von einem Browser Erweiterungen durchzuführen. Ich weiß, dass einige andere Apps (Passwort-Manager wie LastPass) dies erfolgreich machen.Safari Extension - Aktualisieren von angularJS Modell auf Formular Autovervollständigung
Ich baue eine kleine Safari-Erweiterung, die mir hilft, das (lächerliche) Sandkasten-Benutzererstellungsformular von Apple automatisch zu vervollständigen, das 10 Eingabefelder und ein paar Auswahlelemente hat.
Bis jetzt habe ich es geschafft, die Eingabefelder mit jQuery zu erhalten und ihren Wert mit .val()
zu setzen. Dies führt jedoch nicht dazu, dass angularJS sein Modell aktualisiert. Obwohl also Text in den Eingabefeldern vorhanden ist, glaubt angular, dass kein Text vorhanden ist und das Formular nicht validiert werden kann.
Das Problem könnte leicht behoben werden, wenn ich Zugriff auf das eckige Objekt bekommen kann, aber ich kann nicht in der Lage sein, das zu tun. Mein injiziertes Skript gibt undefined
zurück, wenn ich versuche, auf angular
zuzugreifen. Also denke ich, dass ich das eckige Objekt entweder falsch abrufe oder dass ich das auf eine andere Weise lösen sollte.
Zu beachten, dass ich bereits einige der anderen im Internet genannten Tricks ausprobiert habe: input.trigger('input');
und andere solche Sachen.
Haben Sie das Feld ng-Modell festgelegt? – Jacques
das ist sehr relevant: http://StackOverflow.com/a/11710295/1078450 – wesww
@Jacques auf einem Element? Ich verwende ein Formular, das von jemand anderem gemacht wurde, ich erstelle kein eigenes Formular ... – Andrei