Seite 1 von 1
Javascript in Modulkonfiguration nicht möglich?
Verfasst: Di 22. Feb 2005, 17:38
von Chopper
Hi,
ich wollte mal fragen ob man irgendwie im INPUT teil von einem modul javascript einbinden kann.
Problem ist, wenn ich eine Funktion erst mitten im Code schreibe, klapt der aufrauf nicht richtig.
Ich wollte ein onChange auf ne dropdown liste machen, das er dann je nachdem unten ankreuzfelder ein oder ausblendet ... aber der Aufruf der Funktion klapt momentan nur wenn ich die seite abspeicher und die funktion in den header schiebe
EDIT: ok erst testen dann posten, eigentlich sinds die doofen variablen namen die stören ^^ CMS_VAR[0]
onChange="switchDiv(document.tplcfgform.C6CMS_VAR[0].options[document.tplcfgform.C6CMS_VAR[0].options.selectedIndex].value)"
Also wenn jemand weiß, wie ich am besten den wert oder index ansprechen kann ohne den formularnamen und den namen des select feldes zu nutzen wär ich dankbar
Re: Javascript in Modulkonfiguration nicht möglich?
Verfasst: Di 22. Feb 2005, 19:43
von emergence
Chopper hat geschrieben:Also wenn jemand weiß, wie ich am besten den wert oder index ansprechen kann ohne den formularnamen und den namen des select feldes zu nutzen wär ich dankbar
ich habs glaube ich mal ziemlich ähnlich wie du in deinem beispiel gemacht... es ging glaube ich gar nicht anders...
etwas wie this.options[this.options.selectedIndex].value ging nicht bei mir...
aber leider so ein javascript crack bin ich leider nicht...
Verfasst: Di 22. Feb 2005, 23:31
von HerrB
Du kannst im PHP-Code folgendes verwenden (Beispiel):
Code: Alles auswählen
echo ' <td><input type="radio" name="CMS_VAR[1]" value="Default" checked onClick="document.forms[0].elements(\'CMS_VAR[2]\').disabled = true;document.forms[0].GroupSel.disabled = true;"></td>';
Beachte, dass sich das JS in einem PHP-echo befindet. Durch das Ersetzen der CMS_VAR[x]-Variablen erhältst Du den richtigen Namen, die Variante mit .elements() ermöglicht die Übergabe des "verrückten" Names, z.B. C6CMS_VAR[0].
Gibt es mehrere Felder mit dem gleichen Namen (z.B. bei Optionen), kann man einzelne Elemente über den Index ansprechen, z.B. so (nur Ausschnitt):
Code: Alles auswählen
echo 'document.forms[0].elements(\'CMS_VAR[5]\')[0].disabled = true;';
In Input ist übrigens alles einem Formular, dieses kann über forms[0] angesprochen werden.
Gruß
HerrB
Verfasst: Mi 23. Feb 2005, 13:26
von Chopper
ah, danke ...
wenn wir schon bei javascript sind, ich hätte noch ein anderes Problem
also ich will alle select boxen unselecten bei dem functions aufruf ...
ALLE Select boxen haben den selben namen
Code: Alles auswählen
<input type="checkbox" name="C5CMS_VAR[1]" value="METHOD">METHOD<br>
<input type="checkbox" name="C5CMS_VAR[1]" value="METHOD_NAME">METHOD_NAME<br>
<input type="checkbox" name="C5CMS_VAR[1]" value="METHOD_DESTRUCT">METHOD_DESTRUCT<br>
<input type="checkbox" name="C5CMS_VAR[1]" value="METHOD_INSTRUMENT">METHOD_INSTRUMENT<br>
<input type="checkbox" name="C5CMS_VAR[1]" value="METHOD_REMARKS">METHOD_REMARKS<br>
hier ist der code beispielhaft zu sehen
http://chopper.dafnet.org/test.html
Code: Alles auswählen
actualDiv = '';
function switchDiv(visibleDiv) {
if (actualDiv != '')
document.getElementById(actualDiv).style.display ='none';
document.getElementById(visibleDiv).style.display ='block';
actualDiv = visibleDiv;
for (i = 0; i < document.forms[0].elements('C5CMS_VAR[0]').length; i++)
{
document.forms[0].elements('C5CMS_VAR[0]')[i].checked = '';
}
}
Verfasst: Mi 23. Feb 2005, 13:47
von Chopper
Also beim rumprobieren ist mir ein neues Problem aufgefallen,
Das Problem ist,
in CMS_VALUE[1] WÄRE ein Array, aber er speichert dort nur den LETZEN wert des arrays ...
kommt man irgendwie an alle ran ?
man kann die CMS_VALUE[X] ja auch nicht mit X machen und durchlaufen, weil das ja vorher ersetzt wird irgendwie ..... mhhhh
EDIT:
Ich habe dazu mal einen eigenen Thread aufgemacht, da es ja nichts mit dem Javascript Problem zu tun hat eigentlich
Hier zu finden:
http://contenido.org/forum/viewtopic.php?t=7411
Verfasst: Do 24. Feb 2005, 20:45
von HerrB
Du hast es jetzt dreimal gespostet, siehe meine Antwort, ähm, da wo sie ist...
Gruß
HerrB