[gelöst] Kann mir jemand bei Greasemonkey helfen? (js)

Hallo,
ich möchte gerne auf einer Seite automatisch von Greasemonkey Checkboxen auswählen lassen.

Und zwar brauche ich folgende Regel:

Wenn

Dann
soll

<input class='inputCheckbox' value="1" type="checkbox" name="denequa_2_loesung_4">
in

geändert werden

Die zahlen (in diesem Fall 2 und 4) können varieren, spielen aber keine Rolle, solange das value=“1” ist.

Kann mir jemand dabei helfen?

Hallo Jokergermany

Ich kenne Greasemonkey nicht, aber das, was du machen möchtest, scheint nich so schwierig zu sein.

Und zwar musst du zuerst den Wert des inputs auslesen. Je nachdem, wie der Rest der Seite aussieht, hast du dafür unterschiedliche Möglichkeiten:

Damit wird der Wert des ersten Elementes auf der Seite, welches den Namen ‘denequa_2_aw_4’ hat, in der Variable x gespeichert. Details siehe hier:
http://de.selfhtml.org/javascript/objekte/document.htm#get_elements_by_name

Falls sich der Name jeweils ändert, aber es ein bestimmter input ist, welchen du auslesen möchtest, kannst du ihm eine einmalige ID zuweisen, also z.B.

Den Wert kannst du dann einfach auslesen mit:

Um eine checkbox zu markieren, brauchst du folgenden Code:

Um die Markierung wieder aufzuheben:

Falls das ganze für mehrere inputs gemacht werden soll, musst du irgendwie definieren, welche inputs ausgelesen werden sollen, und welche markiert werden sollen.
Wills du z.B. die inputs
denequa_1_aw_4
denequa_2_aw_4
denequa_3_aw_4
lesen und dann die dazu passenden inputs
denequa_1_loesung_4
denequa_2_loesung_4
denequa_3_loesung_4
markieren, kannst du das so machen:

<body>
<input type="hidden" name="denequa_1_aw_4" value="1">
<input type="hidden" name="denequa_2_aw_4" value="0">
<input type="hidden" name="denequa_3_aw_4" value="1">


<input class='inputCheckbox'  value="1" type="checkbox" name="denequa_1_loesung_4">
<input class='inputCheckbox'  value="1" type="checkbox" name="denequa_2_loesung_4">
<input class='inputCheckbox'  value="1" type="checkbox" name="denequa_3_loesung_4">



<script type="text/javascript">

for(var i=1; i<=3; i++)
{
	var x = document.getElementsByName('denequa_'+i+'_aw_4')[0].value;
	
	if (x == '1')
	{
		document.getElementsByName('denequa_'+i+'_loesung_4')[0].checked = "checked";
	}
}
</script>
</body>

Dieses Script geht alle inputs von 1 bis 3 durch und, falls value=1 ist, markiert es die entsprechende checkbox.

Vielen Dank, hier ist meine Lösung.

var frageNr = document.getElementsByName('show_question_nummer')[0].value; var i=0 while(document.getElementsByName('denequa_'+frageNr+'_aw_'+i)) { var x = document.getElementsByName('denequa_'+frageNr+'_aw_'+i)[0].value; if (x == '1') { document.getElementsByName('denequa_'+frageNr+'_loesung_'+i)[0].checked = "checked"; } i++; }

Fortsetzung:
viewtopic.php?f=9&t=24106