| HTML, JavaScript, AJAX und CSS Probleme mit HTML? Netscape oder IE funktionieren nicht so, wie sie sollen? Stellt eure HTML-Fragen hier im Forum und diskutiert eure Probleme mit anderen Entwicklern. |
 |

19-12-2004, 02:47
|
Benny-one
Master 
|
|
Registriert seit: Jan 2002
Ort: Fulda
Beiträge: 5.700
|
|
[JavaScript] assoziative Arrays
hi, ich erstelle eine checkbox:
<input type="checkbox" name="selectedmodules['.$row->modulname.']">
so, wie ihr sehen könnt wird name dynamisch vergeben. der inhalt von name kann so aussehen:
selectedmodules['email']
selectedmodules['spam']
selectedmodules['dns']
so und da das ganze ja eine checkbox ist wissen wir ja, das der array wenn die box aktiv ist so aussieht
Array
-> selectedmodules
------> array
----------> email -> on
-----------> spam -> on
etc
wie kann ich nun über eine schleife, mir sämtliche keys aus dem array selectedmodules ausgeben lassen. also das ich praktisch am ende: email, spam und dns erhalte. ich hab das selfhtml jetzt über 2 stunden geqäult und finde keine lösung.
|

19-12-2004, 05:23
|
Günni
Master 
|
|
Registriert seit: Jun 2002
Ort: Landau/Pfalz
Beiträge: 2.589
|
|
Hab dein Beispiel noch ein wenig geändert und es funzt ohne probleme. Vielleicht hilft dir dies weiter:
PHP-Code:
<HTML>
<SCRIPT>
function marked()
{
for(var i=0; i < document.test.elements.length;i++)
if(document.test.elements[i].checked == true && document.test.elements[i].type == "checkbox")
{
var name = document.test.elements[i].value;
alert(name);
}
}
</SCRIPT>
<BODY>
<form name="test" method="post" onsubmit="javascript:marked()">
<input type="checkbox" name="selectedmodules" value="email">email<br>
<input type="checkbox" name="selectedmodules" value="spam">spam<br>
<input type="checkbox" name="selectedmodules" value="dns">dns<br>
</form>
<a href="javascript:marked()">Testen</a>
</BODY>
</HTML>
__________________
mfg
Günni
Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
City-Tiger - Online durch die Straßen tigern...
|

19-12-2004, 19:23
|
Benny-one
Master 
|
|
Registriert seit: Jan 2002
Ort: Fulda
Beiträge: 5.700
|
|
eine checkbox sieht aber so aus:
<input type="checkbox" name="selectedmodules['email']">spam<br>
und ich das script macht in meiner sicht nicht das was ich brauche.
ich brauche ein script was sämtliche checkboxen durchläuft und mir aus name="selectedmodules['email']" das email rausfiltert.
Geändert von Benny-one (19-12-2004 um 19:27 Uhr)
|

19-12-2004, 19:52
|
Günni
Master 
|
|
Registriert seit: Jun 2002
Ort: Landau/Pfalz
Beiträge: 2.589
|
|
Meiner Meinung nach hätte ich alle checkboxen mit nem Value Wert besetzt, aber lassen wir das mal dahin gestellt sein.
Hoffe nun mal das dies dann eher passt:
PHP-Code:
<HTML>
<SCRIPT>
function marked()
{
for(var i=0; i < document.test.elements.length;i++)
if(document.test.elements[i].checked == true && document.test.elements[i].type == "checkbox")
{
var elem = document.test.elements[i].name;
var name = elem.substring(elem.indexOf("['")+2,elem.lastIndexOf("']"));
alert(name);
}
}
</SCRIPT>
<BODY>
<form name="test" method="post" onsubmit="java script:marked()">
<input type="checkbox" name="selectedmodules['email']">email<br>
<input type="checkbox" name="selectedmodules['spam']">spam<br>
<input type="checkbox" name="selectedmodules['dns']">dns<br>
</form>
<a href="javascript:marked()">Testen</a>
</BODY>
</HTML>
__________________
mfg
Günni
Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
City-Tiger - Online durch die Straßen tigern...
|

19-12-2004, 20:16
|
Benny-one
Master 
|
|
Registriert seit: Jan 2002
Ort: Fulda
Beiträge: 5.700
|
|
ne, er sagt mir leider:
Error: document.forms[0].selectedmodules has no properties
Source File: functions. js
Line: 16
Line 16: for(var i=0; i < document.forms[0].elements.length;i++)
|

19-12-2004, 20:36
|
Günni
Master 
|
|
Registriert seit: Jun 2002
Ort: Landau/Pfalz
Beiträge: 2.589
|
|
Zeig mal bitte ein wenig Code von dir. Hab mein beispiel auch ein wenig abgeändert und es funktioniert ohne probleme.
PHP-Code:
<SCRIPT>
function marked()
{
for(var i=0; i < document.test.elements.length;i++)
if(document.forms[0].elements[i].checked == true && document.test.elements[i].type == "checkbox")
{
var elem = document.forms[0].elements[i].name;
var name = elem.substring(elem.indexOf("['")+2,elem.lastIndexOf("']"));
alert(name);
}
}
</SCRIPT>
__________________
mfg
Günni
Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
City-Tiger - Online durch die Straßen tigern...
|

19-12-2004, 21:26
|
Benny-one
Master 
|
|
Registriert seit: Jan 2002
Ort: Fulda
Beiträge: 5.700
|
|
okay code gibts net viel:
PHP-Code:
$modullist .= '<input type="checkbox" name="selectedmodules['.$row->modulname.']">';
<< hier werden die checkboxen gemacht.
$row->modulname == spam oder email oder dns etc. halt dynamisch.
mein code ( js):
PHP-Code:
for(var i=0; i < document.forms[0].elements.length;i++)
if(document.forms[0].elements[i].checked == true && document.forms[0].elements[i].type == "checkbox")
{
var elem = document.forms[0].elements[i].name;
var name = elem.substring(elem.indexOf("['")+2,elem.lastIndexOf("']"));
alert(name);
}
so, der code wird per funktion beim absenden des formulars aufgerufen, das klappt auch alles, nur der code ( js) nicht.
|

19-12-2004, 21:55
|
Benny-one
Master 
|
|
Registriert seit: Jan 2002
Ort: Fulda
Beiträge: 5.700
|
|
alternative
also ideal wäre es, wenn ich einfach bei allen checkboxen den wert disable auf false setzen könnte. geht das irgendwie?
|

19-12-2004, 21:55
|
Günni
Master 
|
|
Registriert seit: Jun 2002
Ort: Landau/Pfalz
Beiträge: 2.589
|
|
Hab den Code von dir versucht und er geht ohne probleme. Geh mal her und gib dir im JavaScriptCode mit alert irgendwelche Meldungen aus um herauszufinden ab wann der Code nicht mehr richtig funktionieren tut.
__________________
mfg
Günni
Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
City-Tiger - Online durch die Straßen tigern...
|

19-12-2004, 21:56
|
Benny-one
Master 
|
|
Registriert seit: Jan 2002
Ort: Fulda
Beiträge: 5.700
|
|
nimmst du den IE? ich nehm FF
|

19-12-2004, 22:00
|
Günni
Master 
|
|
Registriert seit: Jun 2002
Ort: Landau/Pfalz
Beiträge: 2.589
|
|
Nein, ich nutze ebenfalls den FireFox.
Kopier dir mal das Beispiel von oben wo die HTML Datei ebenfalls dabei ist und versuche diese mal.
__________________
mfg
Günni
Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
City-Tiger - Online durch die Straßen tigern...
|

19-12-2004, 22:05
|
Benny-one
Master 
|
|
Registriert seit: Jan 2002
Ort: Fulda
Beiträge: 5.700
|
|
 ja *freude* es geht, günni sei dank
|

19-12-2004, 23:29
|
Günni
Master 
|
|
Registriert seit: Jun 2002
Ort: Landau/Pfalz
Beiträge: 2.589
|
|
An was war es jetzt gelegen das es dir ganze zeit nicht ging???
__________________
mfg
Günni
Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
City-Tiger - Online durch die Straßen tigern...
|

20-12-2004, 09:26
|
Benny-one
Master 
|
|
Registriert seit: Jan 2002
Ort: Fulda
Beiträge: 5.700
|
|
ich hab deinen obersten script genommen und ein bissl umgeschrieben. jetzt gehts.
|
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
|
| Themen-Optionen |
|
|
| Thema bewerten |
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
|
PHP News
|