Pasi: Zwei suchen "stören" sich

Hi, ich hab mal wieder ein Problemchen =D

Erstmal: Ich weiß, mein Titel ist wieder so dumm aber ich weiß einfach nicht, wie ich es nennen soll.

Also: Ich habe vor, eine Tournee"suche" zu schreiben. Und zwar einmal eine Datumssuche und einmal eine Stadtsuche. Mit nur EINER Suche in der HTML-Datei "funktioniert" alles, wie ich es haben will.

Aber bei beiden Suchen kommen sich die beiden in die Quere, ich weiß nur nicht, was ich ändern muss, damit das nicht mehr der fall ist.

Mein Javascript sieht so aus:

  
var groups=document.stadtsuche.sstadt.options.length  
var group=new Array(sgroups)  
for (h=0; h<groups; h++)  
group[h]=new Array()  
group[00][0]=new Option("kein Datum gewählt","#")  
group[01][0]=new Option("12.00","#mainz")  
group[02][0]=new Option("Nidderau","#nidderau")  
group[03][0]=new Option("Kleinheubach","#kleinheubach")  
group[04][0]=new Option("Rüsselsheim","#ruesselsheim")  
group[05][0]=new Option("Freigericht","#freigericht")  
group[06][0]=new Option("Gundernhausen","#gundernhausen")  
group[07][0]=new Option("Ober-Mumbach","#obermumbach")  
group[08][0]=new Option("Rimbach","#rimbach")  
group[09][0]=new Option("Groß-Zimmern","#grosszimmern")  
group[10][0]=new Option("Trebur","#trebur")  
group[11][0]=new Option("Ober-Roden","#oberroden")  
group[12][0]=new Option("Reichelsheim","#reichelsheim")  
group[13][0]=new Option("Biebesheim","#biebesheim")  
group[14][0]=new Option("Bürstadt","#buerstadt")  
group[15][0]=new Option("Bischofsheim","#bischofsheim")  
group[16][0]=new Option("Heppenheim","#heppenheim")  
group[17][0]=new Option("Flörsheim","#floersheim")  
group[18][0]=new Option("Stromberg","#stromberg")  
group[19][0]=new Option("Bensheim","#bensheim")  
group[20][0]=new Option("Münster","#muenster")  
group[21][0]=new Option("Mainz","#mainz2")  
group[22][0]=new Option("Mainz","#mainz3")  
  
var temp=document.stadtsuche.sdatum  
  
function redirect(x){  
  for (m=temp.options.length-1;m>0;m--){  
    temp.options[m]=null  
  }  
  for (i=0;i<group[x].length;i++){  
    temp.options[i]=new Option(group[x][i].text,group[x][i].value)  
  }  
  temp.options[0].selected=true  
}  
  
  
function szeigen(){  
location=temp.options[temp.selectedIndex1].value  
}  
  
  
var groups=document.datumssuche.ddatum.options.length  
var group=new Array(groups)  
for (i=0; i<groups; i++)  
group[i]=new Array()  
group[00][0]=new Option("kein Datum gewählt","#")  
group[01][0]=new Option("Mainz","#mainz")  
group[02][0]=new Option("Nidderau","#nidderau")  
group[03][0]=new Option("Kleinheubach","#kleinheubach")  
group[04][0]=new Option("Rüsselsheim","#ruesselsheim")  
group[05][0]=new Option("Freigericht","#freigericht")  
group[06][0]=new Option("Gundernhausen","#gundernhausen")  
group[07][0]=new Option("Ober-Mumbach","#obermumbach")  
group[08][0]=new Option("Rimbach","#rimbach")  
group[09][0]=new Option("Groß-Zimmern","#grosszimmern")  
group[10][0]=new Option("Trebur","#trebur")  
group[11][0]=new Option("Ober-Roden","#oberroden")  
group[12][0]=new Option("Reichelsheim","#reichelsheim")  
group[13][0]=new Option("Biebesheim","#biebesheim")  
group[14][0]=new Option("Bürstadt","#buerstadt")  
group[15][0]=new Option("Bischofsheim","#bischofsheim")  
group[16][0]=new Option("Heppenheim","#heppenheim")  
group[17][0]=new Option("Flörsheim","#floersheim")  
group[18][0]=new Option("Stromberg","#stromberg")  
group[19][0]=new Option("Bensheim","#bensheim")  
group[20][0]=new Option("Münster","#muenster")  
group[21][0]=new Option("Mainz","#mainz2")  
group[22][0]=new Option("Mainz","#mainz3")  
  
var temp=document.datumssuche.dstadt  
  
function redirect(x){  
  for (m=temp.options.length-1;m>0;m--){  
    temp.options[m]=null  
  }  
  for (i=0;i<group[x].length;i++){  
    temp.options[i]=new Option(group[x][i].text,group[x][i].value)  
  }  
  temp.options[0].selected=true  
}  
  
  
function dzeigen(){  
location=temp.options[temp.selectedIndex].value  
}  

Und meine HTML-Datei so:

  
<form name="stadtsuche">  
Ort: <select id="smalltext" name="sstadt" onchange="redirect(this.options.selectedIndex)" size="1" style="width:200px; height:22px; background-color:#464646; border-width:2px; border-style:solid; border-color:#fffacd;">  
<option 00>Bitte Stadt wählen</option>  
<option 01>Bensheim</option>  
<option 02>Biebesheim</option>  
<option 03>Bischofsheim</option>  
<option 04>Bürstadt</option>  
<option 05>Flörsheim</option>  
<option 06>Freigericht</option>  
<option 07>Groß-Zimmern</option>  
<option 08>Gundernhausen</option>  
<option 09>Heppenheim</option>  
<option 10>Kleinheubach</option>  
<option 11>Mainz</option>  
<option 12>Mainz</option>  
<option 13>Mainz</option>  
<option 14>Münster</option>  
<option 15>Nidderau</option>  
<option 16>Ober-Mumbach</option>  
<option 17>Ober-Roden</option>  
<option 18>Reichelsheim</option>  
<option 19>Rimbach</option>  
<option 20>Rüsselsheim</option>  
<option 21>Stromberg</option>  
<option 22>Trebur</option>  
</select>  
&nbsp;&nbsp;&nbsp;Datum: <select id="smalltext" name="sdatum" size="2" style="width:200px; height:22px; background-color:#464646; border-width:2px; border-style:solid; border-color:#fffacd;">  
<option selected value="#"></option>  
</select>  
</form>  
  
<form name="datumssuche">  
Datum: <select id="smalltext" name="ddatum" onchange="redirect(this.options.selectedIndex)" size="1" style="width:200px; height:22px; background-color:#464646; border-width:2px; border-style:solid; border-color:#fffacd;">  
<option 0>Bitte Datum wählen</option>  
<option 1>03.-16. Dezember 2008</option>  
<option 2>09.-10. Januar 2009</option>  
<option 3>16.-17. Januar 2009</option>  
<option 4>02.-04. Februar 2009</option>  
<option 5>06.-07. März 2009</option>  
<option 6>13.-14. März 2009</option>  
<option 7>20.-21. März 2009</option>  
<option 8>27.-28. März 2009</option>  
<option 9>03.-04. April 2009</option>  
<option 10>18.-19. April 2009</option>  
<option 11>25.-26. April 2009</option>  
<option 12>05.-06. Juni 2009</option>  
<option 13>12.-13. Juni 2009</option>  
<option 14>17.-18. Juni 2009</option>  
<option 15>26.-27. Juni 2009</option>  
<option 16>10.-16. August 2009</option>  
<option 17>05.-06. September 2009</option>  
<option 18>02.-03. Oktober 2009</option>  
<option 19>07.-08. Oktober 2009</option>  
<option 20>09.-10. Oktober 2009</option>  
<option 21>14.-18. Oktober 2009</option>  
<option 22>19.-24. März 2010</option>  
  
</select>  
&nbsp;&nbsp;&nbsp;Ort:  
<select id="smalltext" name="dstadt" size="2" style="width:200px; height:22px; background-color:#464646; border-width:2px; border-style:solid; border-color:#fffacd;">  
<option selected value="#"></option>  
</select>  
</form>  

Aber die beiden "stören" sich irgendwie.

Wenn ich die HTML-Datei jetzt in einem Browser geöffnet habe, und ich im ersten Formular(die Datumssuche) die Stadt(1. <select>) ändere, ändert sich im zweiten Formular(Stadtsuche) auch die Stadt(also das 2. <select>).

Was hab ich falsch gemacht, wo kommen sich die beiden in die Quere?

LG Pasi

  1. Aber die beiden "stören" sich irgendwie.

    Nein überhaupt nicht. Denn indem du die gleiche Variable mehrfach deklarierst, willst du ja, dass die zwei Suchen irgendwie in unberechenbarer Weise auf andere Daten zugreifen.

    mfg Beat

    --
    Woran ich arbeite:
    X-Torah
    ><o(((°>           ><o(((°>
       <°)))o><                     ><o(((°>o
    1. Hi,

      Nein überhaupt nicht. Denn indem du die gleiche Variable mehrfach deklarierst, willst du ja, dass die zwei Suchen irgendwie in unberechenbarer Weise auf andere Daten zugreifen.

      So weit war ich auch schon. Ich weiß nur nicht, welche Variablen ich ändern muss.

      1. Hi,

        Nein überhaupt nicht. Denn indem du die gleiche Variable mehrfach deklarierst, willst du ja, dass die zwei Suchen irgendwie in unberechenbarer Weise auf andere Daten zugreifen.

        So weit war ich auch schon.

        Dann beschreibe bei deiner naechsten Fragestellung bitte ausfuehrlich, wie weit du "schon bist". Wir haben keine Lust, immer Rumraten zu muessen, welche Gedanken zum Problem sich jemand schon selber gemacht hat, und auf welche er noch nicht gekommen ist.

        Ich weiß nur nicht, welche Variablen ich ändern muss.

        Die, die in deinem Script einfach ueberschrieben werden, obwohl ihre Werte erhalten bleiben und weiterhin benutzt werden sollen.

        Wenn dir noch komplett der Ueberblick fehlt, was "dein" Script mit welchen Variablen macht und wo, dann analysiere es zunaechst mal, um das herauszufinden.
        Und wenn dir noch das dazu noetige Grundwissen fehlt, dann eigne es dir an.

        MfG ChrisB

        --
        „This is the author's opinion, not necessarily that of Starbucks.“
        1. Hoi!

          "dein" Script

          Treffer, versenkt.

          Ich steh auf copy & paste von Code. Immer noch Fehlerquelle Nr. 1. Is mir neulich sogar mal wieder passiert. :D

          --
          "Die Diebesgilde beklagte sich darueber, dass Mumm in aller Oeffentlichkeit behauptet hatte, hinter den meisten Diebstaehlen steckten Diebe."
                - T. Pratchett
          1. Hi,

            ich habs selbst hinbekommen, danke.

            LG Pasi

            1. Hoi!

              ich habs selbst hinbekommen, danke.

              Und das finde ich wirklich gut. Selbst wird hier naemlich gross geschrieben.

              ;)

              --
              "Die Diebesgilde beklagte sich darueber, dass Mumm in aller Oeffentlichkeit behauptet hatte, hinter den meisten Diebstaehlen steckten Diebe."
                    - T. Pratchett
        2. Hi,

          Wenn dir noch komplett der Ueberblick fehlt, was "dein" Script mit welchen Variablen macht und wo, dann analysiere es zunaechst mal, um das herauszufinden.
          Und wenn dir noch das dazu noetige Grundwissen fehlt, dann eigne es dir an.

          Ich kann es halt nich und wollte diese Funktion (das Wort is dir wahrscheinlich auch wieder nicht treffend genug) in meine Seite machen (das auch nicht).

          Ich hab einfach keinen Plan, was das gedöns heißen soll. Da ich wusste, dass hier solche Kommentare kommen, hab ich erstmal 2 Stunden selbst probiert, was ich ändern muss, ist aber nichts bei rausgekommen.

          LG Pasi

  2. var groups=document.stadtsuche.sstadt.options.length
    var group=new Array(sgroups)

    Hier definierst du groups und group

    var temp=document.stadtsuche.sdatum

    function redirect(x){

    Hier nutzt du temp und group

    var groups=document.datumssuche.ddatum.options.length
    var group=new Array(groups)

    Hier überschreibst du groups und group

    var temp=document.datumssuche.dstadt

    Hier überschreibst du temp

    function redirect(x){

    Hier überschreibst du die Funktion redirect
    Hier nutzt du temp und group, sie haben den zuletzt gesetzten Wert

    Am besten erklärst du nochmal genau, was dein Code an welcher Stelle tut, ich blicke da nämlich nicht durch. Du könntest natürlich die zusammengehörigen Variablen/Funktionsnamen umbenennen, damit sie sich nicht in die Quere kommen, aber besser wäre es vermutlich, eine Funktion zu schreiben, die die Logik einmal umsetzt, aber mit variablen Eingangswerten. Schließlich ist die Funktionalität zweimal dieselbe, nur die Daten und Formularfelder sind andere.
    Dazu solltest du uns aber mal ein funktionierendes Beispiel zeigen.

    Mathias

    1. @ molily:

      Ich habe die Seite mal hochgeladen, um die es geht. Ist halt kein Style dabei und so.

      http://www.websitepark.de/userdaten2/52993960/html/tournee.htm

      LG Pasi