• Das kreative Thema des Monats Oktober wird vor allem diejenigen unter Euch besonders ansprechen, denen Do-it-yourself quasi im Blut liegt. Zeigt uns Eure Improvisationskünste oder fotografiert, was andere Leute sich so im Alltag zusammengestrickt haben. --> Zum Mitmachen bitte hier klicken

[JavaScript] Code-Workaround ohne eckige Klammern gesucht

Rysk

Jerseymac
Registriert
21.10.07
Beiträge
457
Hallo,

ich habe eine Website und diese Website hat zwei Eingabefelder für die Login-Daten. Konkret handelt es sich um StudiVZ.net :-D (bitte keine Kommentare darüber)

Nun möchte ich (die korrekten Daten in den Feldern vorrausgesetzt) per JS eingeloggt werden.

Geht per:
Code:
document.getElementsByName("login")[0].click();
Nun habe ich das Problem, dass ich ein Code-Stück ohne eckige Klammern brauche. Ich würde es ja per getElementById machen, jedoch hat der Login-Button keine ID. Oder per document.forms.formname.submit() doch hat das Formular nur ne Id und keinen Namen.

Für eine Lösung wäre ich euch sehr dankbar.

Achja, es muss nur in Safari funktionieren.
 
Wenn das deine Webseite ist, warum gibst du den Eingabefeldern nicht einfach eine ID?
 
Meine Seite? Nein, ich bin nicht StudiVZ-Admin. Ich wollte mit "Ich habe hier eine Seite" lediglich ausdrücken, dass ich mit dieser Seite arbeite, aber als User, nicht als Admin. Und daher kann ich die gegebenen Parameter nicht ändern, sondern muss versuchen, mich da irgendwie anzupassen.
 
Mal sehen, mir fallen da 3 Lösungen ein (Alle nicht getestet)


Einfach vom Form aus starten und dann weiterhangeln
Code:
document.getElementById("Login").firstChild.firstChild.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.nextSibling.click()

Array-Funktionen benutzen (Shift() entfernt das erste Element und gibt es zurück)
Code:
document.getElementsByName("login").shift().click();
Ich hab mal gehört, dass es auch so gehen sollte: Da Arrays ja auch nur Objekte sind.
Code:
document.getElementsByName("login").1.click();
 
  • Like
Reaktionen: Rysk
Danke, so meinte ich das... Werds heut nachmittag mal ausprobieren.
 
Wenn das form eine ID hat sollte auch
Code:
document.getElementByID('formid').submit();
funktionieren.