chreckboxen automatisch angeklickt
il trap
- javascript
Hallo,
Ich suche eine Funktion, mit der, genau wie z.B. in einer Email Inbox, beim Anklicken der Checkbox in der Titelleiste alle untenstehenden Zeilen selektiert werden (wobei alle Zeilen auch eine Checkbox haben). Im Quellcode ist die Funktion nicht zu finden. Das geht wohl nur mit js, oder?
Wäre um einen Tipp sehr dankbar!
Gruss, il trap
Hallo il trap,
JavaScrip lässt sich nicht vermeiden!
Schau einfach mal hier rein:
http://selfhtml.teamone.de/javascript/objekte/elements.htm
dort findes du schon mal die Anfänge für Zugriffe auf Elemente in einem Formular (unter Allgemeines) und auch wie man eine Checkbox autom. "anclickt" und wieder "ausklickt"!
Wenn sich dann weitere Fragen ergeben, immer her damit ;o)
MfG
Chipsy
Hi Chipsy,
Danke, diese Seiten sind mir bekannt, ich kann sie einfach nicht auf mein Problem anwenden...
Hier mal etwas Code, ist alles im gleichen php Skript:
print "<script language="JavaScript" type="text/javascript">";
print "function click_all() { ";
???
print "}";
print "</script>";
...
print "<th><input type="checkbox" name="check_all" onClick="click_all()"></th>"; // Checkbox in Titelleiste
...
print "<td><input type="checkbox" name="checkbox[]" value="$data[4]"></td>"; // Checkbox in jeder Zeile
Ich muss irgendwie in der Funktion allen Elementen des Arrays $checkbox (aus checkbox[]) "checked" zuweisen, denke ich, sehe den Weg aber nicht (auch Syntax mässig)...
Gruss, il trap
Ich muss irgendwie in der Funktion allen Elementen des Arrays $checkbox (aus checkbox[]) "checked" zuweisen, denke ich, sehe den Weg aber nicht (auch Syntax mässig)...
Über http://www.netzwelt.com/selfhtml/javascript/objekte/forms.htm
(vor allem "Schema 2 / Beispiel 2:" ist wichtig für dich)
kommst du nach http://www.netzwelt.com/selfhtml/javascript/objekte/elements.htm#checked
das sollte reichen um dein Problem zu lösen.
Struppi.
Hi, Danke,
Ich habe mal das gemacht:
print "function click_all() { ";
print "document.insertform.checkbox[].checked = 'checked'";
print "}";
wobei insertform: Name des Formulars
checkbox[]: Name der Checkboxes (Array)
checked = 'checked': Eigenschaft, die alle Checkboxen bekommen sollen.
Klappt aber immer noch nicht. Was mache ich falsch?
Gruss, il trap
Hi, Danke,
Ich habe mal das gemacht:print "function click_all() { ";
print "document.insertform.checkbox[].checked = 'checked'";
print "}";wobei insertform: Name des Formulars
checkbox[]: Name der Checkboxes (Array)
checked = 'checked': Eigenschaft, die alle Checkboxen bekommen sollen.Klappt aber immer noch nicht. Was mache ich falsch?
*g*
Ich schrub:
Über http://www.netzwelt.com/selfhtml/javascript/objekte/forms.htm
(vor allem "Schema 2 / Beispiel 2:" ist wichtig für dich)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
dort steht:
document.forms["FormularName"].Eigenschaft
document.forms["FormularName"].Methode
Ziel = document.forms["Testformular"].action;
document.forms["Testformular"].reset();
und hilft's?
Struppi der vorleser.
und dann seh ich noch das:
print "document.insertform.checkbox[].checked = 'checked'";
du hast gar nichts gelesen?
http://www.netzwelt.com/selfhtml/javascript/objekte/elements.htm
Struppi.
P.S. danke, dass ich, um dir beim lesen zu helfen, nochmal zwei Postings abschicken durfte :-(
Ich hatte alles durchgelesen und dann eben diese Variante gesehen, die mir einleuchtend erschien. Ich habe von js nicht viel Ahnung, da ich es immer zu vermeiden versuche, ich bitte deshalb um etwas Geduld...
neuer Versuch:
print "function click_all() { ";
if (document.insertform.check_all.checked == true) // *
print "checkbox[] = document.forms["insertform"].checked"; // **
print "}";
* wenn checkbox der Titelleiste angeklickt
** gemäss Schema: Ziel = document.forms["Testformular"].action;¨
klappt nicht wirklich...
il trap
Ich hatte alles durchgelesen und dann eben diese Variante gesehen, die mir einleuchtend erschien. Ich habe von js nicht viel Ahnung, da ich es immer zu vermeiden versuche, ich bitte deshalb um etwas Geduld...
Naja, du programmierst in PHP aber kannst so einfache Sachen nicht umsetzten.
print "function click_all() { ";
if (document.insertform.check_all.checked == true) // *
print "checkbox[] = document.forms["insertform"].checked"; // **
Was ist dass denn?
Dein Problem ist der Name der checkboxen 'checkbox[]' nicht der Namen des Formulars, ich dacht jemand der PHP porgrammiert könnte vielleicht halbwegs umdenken.
Übrigens ist es immer sinnvoll zumindest i.d. Entwicklungsphase, sich auch mal die Wert auszugeben, die man verwenden möchte.
Also:
<form ....>
<input type="checkbox" onclick="check_all(this);">
....
</form>
function check_all(feld)
{
var f = feld.form;
for(var i = 0; f.elements['checkbox[]'][i];i++)
f.elements['checkbox[]'][i].checked = feld.checked;
}
Struppi.
Ich hatte alles durchgelesen und dann eben diese Variante gesehen, die mir einleuchtend erschien. Ich habe von js nicht viel Ahnung, da ich es immer zu vermeiden versuche, ich bitte deshalb um etwas Geduld...
Das ist aber mit sicherheit nicht wahr oder dein Lesemodul ist arg ramponiert:
http://www.netzwelt.com/selfhtml/javascript/objekte/elements.htm#checked
Da steht: Speichert, ob bzw. dass ein Radio- oder Checkbutton aktiviert ist oder nicht. Mögliche Werte sind true bzw. 1 oder false bzw. 0.
true/false oder 0/1 aber nix von 'checked'.
Struppi.