• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Wir haben den Frühjahrsputz beendet, Ihr auch? Welches Foto zu dem Thema hat Euch dann am Besten gefallen? Hier geht es lang zur Abstimmung --> 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.
 

Peitzi

Blutapfel
Registriert
07.08.07
Beiträge
2.595
Wenn das deine Webseite ist, warum gibst du den Eingabefeldern nicht einfach eine ID?
 

Rysk

Jerseymac
Registriert
21.10.07
Beiträge
457
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.
 

Maluku

Finkenwerder Herbstprinz
Registriert
10.05.08
Beiträge
464
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

Rysk

Jerseymac
Registriert
21.10.07
Beiträge
457
Danke, so meinte ich das... Werds heut nachmittag mal ausprobieren.
 

Slashwalker

Winterbanana
Registriert
15.05.06
Beiträge
2.213
Wenn das form eine ID hat sollte auch
Code:
document.getElementByID('formid').submit();
funktionieren.