Kompatibilitätsprobleme

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Kompatibilitätsprobleme

    tachjen vielleicht kann mir jemand von euch helfen
    hab ein javascript geschrieben und ich hab das problem das es mit mozilla läuft aber mit dem ie führt er es nicht aus und ich weiß nicht woran das liegt

    hab das folgende script in eine externe datei ausgelagert
    Code:
    var Monate = new Array("Januar","Februar","März","April","Mai","Juni","Juli","August","September","Oktober","November","Dezember");
    var Tage = new Array();
    	var today = new Date() 
    	var jahr = today.getYear() 
    		if (jahr < 1000) jahr+=1900 
    	var monat = today.getMonth()  
    	var tag = today.getDate()-1
    //Selectfelder für die Monate erstellen
    function monthSelect() {
    	alert(Monate);
    	for (var i = 0; i < Monate.length; i++) {  	
    		NeuerMonat = new Option(Monate[i], Monate[i], false, false);
    		document.dateSelect.month.options[document.dateSelect.month.length] = NeuerMonat;  
    	}
    	daySelect();
    }
    
    //Selectfelder für die Tage erstellen
    function daySelect() {
    
    	switch(document.dateSelect.month.value){
    		case "Januar":
    			Tage.length = null;
    			document.dateSelect.days.length = null;
    			Tage.length = 31;	
    			for (var j = 0; j < Tage.length; j++){
    				Tage[j] = j+1
    				NeuerTag = new Option(Tage[j], Tage[j], false, false);
    				document.dateSelect.days.options[document.dateSelect.days.length] = NeuerTag;
    			}
    		break;
    		case "Februar":
    			Tage.length = null;
    			document.dateSelect.days.length = null;
    			Tage.length = 28;	
    			for (var j = 0; j < Tage.length; j++){
    				Tage[j] = j+1
    				NeuerTag = new Option(Tage[j], Tage[j], false, false);
    				document.dateSelect.days.options[document.dateSelect.days.length] = NeuerTag;
    			}		
    		break;
    		case "März":
    			Tage.length = null;
    			document.dateSelect.days.length = null;
    			Tage.length = 31;	
    			for (var j = 0; j < Tage.length; j++){
    				Tage[j] = j+1
    				NeuerTag = new Option(Tage[j], Tage[j], false, false);
    				document.dateSelect.days.options[document.dateSelect.days.length] = NeuerTag;
    			}		
    		break;
    		case "April":
    			Tage.length = null;
    			document.dateSelect.days.length = null;
    			Tage.length = 30;	
    			for (var j = 0; j < Tage.length; j++){
    				Tage[j] = j+1
    				NeuerTag = new Option(Tage[j], Tage[j], false, false);
    				document.dateSelect.days.options[document.dateSelect.days.length] = NeuerTag;
    			}		
    		break;
    		case "Mai":
    			Tage.length = null;
    			document.dateSelect.days.length = null;
    			Tage.length = 31;	
    			for (var j = 0; j < Tage.length; j++){
    				Tage[j] = j+1
    				NeuerTag = new Option(Tage[j], Tage[j], false, false);
    				document.dateSelect.days.options[document.dateSelect.days.length] = NeuerTag;
    			}		
    		break;
    		case "Juni":
    			Tage.length = null;
    			document.dateSelect.days.length = null;
    			Tage.length = 30;	
    			for (var j = 0; j < Tage.length; j++){
    				Tage[j] = j+1
    				NeuerTag = new Option(Tage[j], Tage[j], false, false);
    				document.dateSelect.days.options[document.dateSelect.days.length] = NeuerTag;
    			}		
    		break;
    		case "Juli":
    			Tage.length = null;
    			document.dateSelect.days.length = null;
    			Tage.length = 31;	
    			for (var j = 0; j < Tage.length; j++){
    				Tage[j] = j+1
    				NeuerTag = new Option(Tage[j], Tage[j], false, false);
    				document.dateSelect.days.options[document.dateSelect.days.length] = NeuerTag;
    			}		
    		break;
    		case "August":
    			Tage.length = null;
    			document.dateSelect.days.length = null;
    			Tage.length = 31;	
    			for (var j = 0; j < Tage.length; j++){
    				Tage[j] = j+1
    				NeuerTag = new Option(Tage[j], Tage[j], false, false);
    				document.dateSelect.days.options[document.dateSelect.days.length] = NeuerTag;
    			}		
    		break;
    		case "September":
    			Tage.length = null;
    			document.dateSelect.days.length = null;
    			Tage.length = 30;	
    			for (var j = 0; j < Tage.length; j++){
    				Tage[j] = j+1
    				NeuerTag = new Option(Tage[j], Tage[j], false, false);
    				document.dateSelect.days.options[document.dateSelect.days.length] = NeuerTag;
    			}		
    		break;
    		case "Oktober":
    			Tage.length = null;
    			document.dateSelect.days.length = null;
    			Tage.length = 31;	
    			for (var j = 0; j < Tage.length; j++){
    				Tage[j] = j+1
    				NeuerTag = new Option(Tage[j], Tage[j], false, false);
    				document.dateSelect.days.options[document.dateSelect.days.length] = NeuerTag;
    			}		
    		break;
    		case "November":
    			Tage.length = null;
    			document.dateSelect.days.length = null;
    			Tage.length = 30;	
    			for (var j = 0; j < Tage.length; j++){
    				Tage[j] = j+1
    				NeuerTag = new Option(Tage[j], Tage[j], false, false);
    				document.dateSelect.days.options[document.dateSelect.days.length] = NeuerTag;
    			}		
    		break;
    		case "Dezember":
    			Tage.length = null;
    			document.dateSelect.days.length = null;
    			Tage.length = 31;	
    			for (var j = 0; j < Tage.length; j++){
    				Tage[j] = j+1
    				NeuerTag = new Option(Tage[j], Tage[j], false, false);
    				document.dateSelect.days.options[document.dateSelect.days.length] = NeuerTag;
    			}		
    		break;
    	}
    }
    
    function todayDate(){
    	document.dateSelect.month.selectedIndex=monat;
    	document.dateSelect.days.selectedIndex=tag;
    	getApotheke()
    }
    
    //XML Abfrage
    function newRequest() { 
    	try { 
    		if (window.XMLHttpRequest) { 
    			return new XMLHttpRequest(); 
    		} else { 
    			return new ActiveXObject("MSXML2.XMLHTTP"); 
    		} 
    	} catch (e) { 
    		return false; 
    	} 
    } 
    function getApotheke() {
    	var req; 
    	if (req = newRequest()) { 
    		req.open("GET", "notdienst.xml", false); req.send(""); 
    		//alert(req.responseText); 
    		var Apotheke = req.respon************ML.getElementsByTagName(document.dateSelect.month.value);
    		document.dateSelect.apotheke.value = Apotheke[document.dateSelect.days.value].childNodes[0].nodeValue; 
    		//alert("Fullname: " + Apotheke[document.dateSelect.days.value].childNodes[0].nodeValue); 
    	} 
    }
    und das ist die dazugehörige html datei
    Code:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
    <title>Unbenanntes Dokument</title>
    
    </head>
    
    
    <body>
    <script type="text/javascript" src="notdienst.js"></script>
    
    
    			<form name="dateSelect">
    			am
    			<select name="month" onchange="getApotheke()"></select>
    			<select name="days" onchange="getApotheke()"></select>
    			<script type="text/javascript">
    				document.write(jahr);
    			</script>
    			hat die
    			<input type="text" name="apotheke" />
    			Notdienst
    			<script type="text/javascript">
    				monthSelect();
    				todayDate();
    			</script>
    			</form>
    
    
    </body>
    </html>
    das ganze greift dann noch auf eine xml datei zu um daten dynamisch anzuzeigen
    mit firefox funktioniert das einwandfrei im ie füllt er nichtmal die select options mit den inhalten

  • #2
    du musst den optionsfeldern ein value zuordnen, sonst spielt der ie nicht mit. so in dem stil
    PHP-Code:
    document.getElementById('bla').childNodes[i].setAttribute('value''blubb'); 
    gruß
    peter
    Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
    Meine Seite

    Kommentar


    • #3
      ich sehe gerade was:
      PHP-Code:
      <select name="month" onchange="getApotheke()"></select
      wie willst du ein onchange auf ein erst mal leeres selct-feld ausfüllen?

      gruß
      peter
      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
      Meine Seite

      Kommentar


      • #4
        die optionen im selectfeld werden dynamisch mit javascript erzeugt

        Code:
        function monthSelect() {
        	alert(Monate);
        	for (var i = 0; i < Monate.length; i++) {  	
        		NeuerMonat = new Option(Monate[i], Monate[i], false, false);
        		document.dateSelect.month.options[document.dateSelect.month.length] = NeuerMonat;  
        	}
        	daySelect();
        }

        Kommentar


        • #5
          die optionen im selectfeld werden dynamisch mit javascript erzeugt
          aber wo? bei onchange im leeren select-feld ist das wohl ziemlich sinnfrei.

          gruß
          peter
          EDIT:
          blödsinn, werden weiter unten erzeugt

          und das ist auch blödsinn: setzt den block mal über das select-feld
          PHP-Code:
          <script type="text/javascript">
                          
          monthSelect();
                          
          todayDate();
                      </
          script
          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
          Meine Seite

          Kommentar


          • #6
            und ich vermute auch weiterhin, dass ud den optionsfeldern kein value zuordnest. da spielt der ie nicht mit. siehe meinen post weiter oben.

            gruß
            peter
            Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
            Meine Seite

            Kommentar


            • #7
              mit der function monthSelect erstellt er die options und trägt sie ein

              hier
              liegt das script ruf die seite mal mit dem firefox auf und du wirst sehen das es darin funktioniert

              Kommentar


              • #8
                bei selfhtml wird erklärt wie man mit javascript die options hinzufügt inclusive value und so hab ich das acuh bei mir gemacht im firefox funktioniert es ja

                Kommentar


                • #9
                  dann verstehe ich dein problem nicht. im ie läuft es auch einwandfrei.

                  gruß
                  peter
                  Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                  Meine Seite

                  Kommentar


                  • #10
                    wie echt ... wenn ich es bei mir im ie aufrufe funzt gar nichts

                    hm könnte wohl daran liegen das ich den so gut wie nie benutze und daran ein paar sachen deaktiviert habe


                    kannst du mir noch kurz sagen oder eine seite geben die den zugriff auf xml etwas genauer erklärt

                    denn da häng ich momentan auch noch etwas

                    Kommentar


                    • #11
                      hm könnte wohl daran liegen das ich den so gut wie nie benutz
                      der 5er ist aber nicht, oder

                      kannst du mir noch kurz sagen oder eine seite geben die den zugriff auf xml etwas genauer erklärt
                      was denn genau?

                      gruß
                      peter
                      Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                      Meine Seite

                      Kommentar


                      • #12
                        nein ist die 6er ... weiß auch nicht warum er das bei mir nicht anzeigt


                        in der anderen xml datei stehen die apotheken inclusive der daten wie telefonnummer adresse und fax und eine url und das soll dann je nach oben ausgewählter apotheke unten hinschreiben
                        und ich weiß nicht wie ich jetzt genau die knoten ansprechen kann

                        also aus folgendem xml aufbau zum beispiel den namen der apotheke rausholen kann
                        das hinschreiben ist ja dann wieder kein problem ich versteh das nur mit der addressierung noch nciht so ganz
                        Code:
                        <?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>
                        <Apotheken>
                        	<Apotheke>
                        		<name>Adler Apotheke</name>
                        		<strase>Burgstraße20</strase>
                        		<plz>55555</plz>
                        		<tel>0000</tel>
                        		<fax>0000</fax>
                        		<url>map2guideurl</url>
                        	</Apotheke>
                        	<Apotheke>
                        		<name>testr Apotheke</name>
                        		<strase>testtraße20</strase>
                        		<plz>55555</plz>
                        		<tel>0000</tel>
                        		<fax>0000</fax>
                        		<url>map2guideurl</url>
                        	</Apotheke>
                        </Apotheken>

                        Kommentar


                        • #13
                          hab auf meinem internetauftritt ein kleines tutorial zum thema ajax geschrieben. vielleicht hift dir das weiter.

                          gruß
                          peter
                          Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
                          Meine Seite

                          Kommentar


                          • #14
                            danke werd ich mir gleich mal ansehn

                            Kommentar


                            • #15
                              danke für deine hilfe dein tutorial hat mir geholfen mein script nun endlich zu vollenden
                              big thx

                              Kommentar

                              Lädt...
                              X