• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Die Bildungsoffensive hier im Forum geht weiter! Jetzt sollen Kreativität und technische Möglichkeiten einen neue Dimension erreichen. Das Thema in diesem Monat lautet - Verkehrte Welt - Hier geht es lang --> Klick

[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.