Ergebnis 1 bis 12 von 12
  1. #1
    Naitscho ist offline Grünschnabel
    registriert
    01-04-2017
    Beiträge
    5

    Javascript funktioniert in Firefox, jedoch nicht in Chrome

    Guten Abend,

    ich habe ein Problem. Ich habe ein Script geschrieben, welches mir bestimmte Werte anzeigen soll, je nach der Auswahl, die ich getroffen habe. In Firefox funktioniert mein Script ohne Probleme, jetzt habe ich aber heute gesehen, dass es mit Google Chrome leider nicht funktioniert.

    Ich lasse eine while Schleife laufen und gebe den Inhalt einer Tabelle aus, dabei erzeuge ich mit jedem Eintrag, welcher in der Tabelle zu finden ist eine neue Javascript-Funktion (wird durchnummeriert.) Diese Funktion wird dann durch den entsprechenden Wert aufgerufen durch ein onClick-Event (onClick="cAuswahl<?php echo $zähler4 ?>()").

    Code:
    <select name='newClan'>
    <option selected='selected' onClick="cAuswahlNichts()" value=''>Normal (0 EP)</option>
    <?php 
    
    $zähler4=1;
    	while($zeile = mysqli_fetch_array( $db_erg3, MYSQL_ASSOC))
    		{
    ?>
    			
    			<option value='<?php echo $zeile['name'] ?>' onClick="cAuswahl<?php echo $zähler4 ?>()"><?php echo $zeile['name']?> (<?php echo $zeile['cost'] ?> EP)</option>
    <script language="javascript" type="text/javascript">
    // Auswahl für Clan.
    function cAuswahl<?php echo $zähler4 ?>()
    {
    	var c_clan = document.c_gener1.newClan.options[document.c_gener1.newClan.selectedIndex].value;
    	var clanaNacht<?php echo $zähler4 ?> = '<?php echo $zeile['auto_vn'] ?>';
    	var clanaVort<?php echo $zähler4 ?> = '<?php echo $zeile['auto_s'] ?>';
    	var clanCost<?php echo $zähler4 ?> = <?php echo $zeile['cost'] ?>;
    	var clanName<?php echo $zähler4 ?> = '<?php echo $zeile['name'] ?>';
    	var clanLink<?php echo $zähler4 ?> = '<?php echo $zeile['link'] ?>';
    	var c_startEP = 0;
    	
    	
    	if(c_clan == clanName<?php echo $zähler4 ?>) {
    		c_EP = c_startEP -= clanCost<?php echo $zähler4 ?>;
    		document.getElementById("clanInfoLink").href= clanLink<?php echo $zähler4 ?>;
    		document.getElementById("clanInfoLink").innerHTML= clanName<?php echo $zähler4 ?>+" Claninfos";
    		document.getElementById("anacht").innerHTML = clanaNacht<?php echo $zähler4 ?>;
    		document.getElementById("avort").innerHTML = clanaVort<?php echo $zähler4 ?>;
    	}
    	else{}
    
    	if(c_EP <= 0) {
    		uebergabe()
    		document.c_gener1.EP.style.backgroundColor = 'transparent';
    		document.c_gener1.Submit.disabled = false;
    	}
    	else {
    		uebergabe()
    		document.c_gener1.EP.style.backgroundColor = 'red';
    		document.c_gener1.Submit.disabled = true;
    	}
    
    	}
    
    </script>
    
    
    <?php
    $zähler4++;
    		}
    ?>

    Hat vielleicht jemand eine Idee an was es liegen könnte?

    Vielen Dank und Grüße

    Naitscho
    Geändert von mikdoe (20-05-2017 um 21:18 Uhr) Grund: Gelöst gesetzt

  2. #2
    Avatar von andreax
    andreax ist offline Tripel-As
    registriert
    09-07-2016
    Beiträge
    191

    AW: Javascript funktioniert in Firefox, jedoch nicht in Chrome

    Ich sehe nur das das Select Tag nicht geschlossen wurde ist aber in HTML5 Erlaubt.
    Zum besseren Verständniss wäre der code wie er im Browser ausgegeben wird also der Seitenquelltext eine große Hilfe
    das man sieht was denn das php so ausgegeben hat.

  3. #3
    Naitscho ist offline Grünschnabel
    registriert
    01-04-2017
    Beiträge
    5

    AW: Javascript funktioniert in Firefox, jedoch nicht in Chrome

    Ich habe den Code, der in Chrome ausgegeben wird mal in ein .txt File gepackt und als Anhang hochgeladen, da er sonst zu lang wäre, wenn ich ihn direkt poste.

    So weit ich das sehe, holt er die Einträge für die Variablen alle richtig aus der Datenbank ab.
    Ich habe auch den <select> Tag geschlossen.
    Angehängte Dateien Angehängte Dateien

  4. #4
    Avatar von mikdoe
    mikdoe ist offline Administrator
    registriert
    01-05-2010
    Beiträge
    7.391

    AW: Javascript funktioniert in Firefox, jedoch nicht in Chrome

    Zitat Zitat von Naitscho Beitrag anzeigen
    Ich habe den Code, der in Chrome ausgegeben wird mal in ein .txt File gepackt und als Anhang hochgeladen, da er sonst zu lang wäre, wenn ich ihn direkt poste.
    in solchen fällen reduziere ich den code so weit bis nur noch das minimum zur fehlererzeugung übrig ist. meistens sieht man den fehler schon direkt. wenn nicht frage ich in einem fachforum konkret zum minimierten code.
    Das deutsche Javascript Forum http://forum.jswelt.de http://forum.jswelt.de/images/logoJsWeltForumV4_32x22.png
    Sorry wenn ich manchmal ohne Hallo und nur klein schreibe! Dann bin ich nicht unfreundlich sondern mit nervigem kleinem Touch Tablet zugange

  5. #5
    Naitscho ist offline Grünschnabel
    registriert
    01-04-2017
    Beiträge
    5

    AW: Javascript funktioniert in Firefox, jedoch nicht in Chrome

    So gesehen ist er schon auf ein minimum Readuziert, es ist nur die Augabe, die mein Script oben ausgibt.
    Es ist sogesehen 20 mal der selbe Code, nur mit anderen Werten.

    Hier wäre der sozusagen reduzierte Code mit nur einer Aufzählung:

    Code:
    <td>
    			<select name="newClan">
    			<option selected="selected" onclick="cAuswahlNichts()" value="">Normal (0 EP)</option>
    			
    			<option value="Aburame" onclick="cAuswahl1()">Aburame (350 EP)</option>
    <script language="javascript" type="text/javascript">
    // Auswahl fur Clan.
    function cAuswahl1()
    {
    	var c_clan = document.c_gener1.newClan.options[document.c_gener1.newClan.selectedIndex].value;
    	var clanaNacht1 = 'Offensichtlich anders 2, Verpflichtungen gegenuber Clan';
    	var clanaVort1 = '';
    	var clanCost1 = 350;
    	var clanName1 = 'Aburame';
    	var clanLink1 = '../wiki/doku.php?id=bluterben_und_clans#aburame_350ep';
    	var c_startEP = 0;
    	
    	
    	if(c_clan == clanName1) {
    		c_EP = c_startEP -= clanCost1;
    		document.getElementById("clanInfoLink").href= clanLink1;
    		document.getElementById("clanInfoLink").innerHTML= clanName1+" Claninfos";
    		document.getElementById("anacht").innerHTML = clanaNacht1;
    		document.getElementById("avort").innerHTML = clanaVort1;
    	}
    	else{}
    
    	if(c_EP <= 0) {
    		uebergabe()
    		document.c_gener1.EP.style.backgroundColor = 'transparent';
    		document.c_gener1.Submit.disabled = false;
    	}
    	else {
    		uebergabe()
    		document.c_gener1.EP.style.backgroundColor = 'red';
    		document.c_gener1.Submit.disabled = true;
    	}
    
    	}
    
    </script>
    
    [...]
    
    </select>
    		</td>

  6. #6
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.440

    AW: Javascript funktioniert in Firefox, jedoch nicht in Chrome

    Zitat Zitat von Naitscho Beitrag anzeigen
    dass es mit Google Chrome leider nicht funktioniert.
    Was heißt das denn genau? Steht etwas in der Fehlerkonsole (Wo finde ich die Fehlerkonsole?)?

    PS: Warum ist c_EP eine globale Variable? Und diese muss auch nicht immer definiert sein, wenn du sie abfragst.

  7. #7
    Avatar von miniA4kuser
    miniA4kuser ist offline Lounge-Member
    registriert
    12-07-2006
    Beiträge
    3.019

    AW: Javascript funktioniert in Firefox, jedoch nicht in Chrome

    Warum machst du überhaupt so viele Funktionen und arbeitest nicht stattdessen mit Funktionsparametern?
    Hoffe ich konnte helfen

  8. #8
    Avatar von rckd
    rckd ist offline Eroberer
    registriert
    04-01-2017
    Beiträge
    57

    AW: Javascript funktioniert in Firefox, jedoch nicht in Chrome

    Zitat Zitat von andreax Beitrag anzeigen
    Ich sehe nur das das Select Tag nicht geschlossen wurde ist aber in HTML5 Erlaubt.
    Nope.

  9. #9
    Naitscho ist offline Grünschnabel
    registriert
    01-04-2017
    Beiträge
    5

    AW: Javascript funktioniert in Firefox, jedoch nicht in Chrome

    Zitat Zitat von kkapsner Beitrag anzeigen
    Was heißt das denn genau? Steht etwas in der Fehlerkonsole (Wo finde ich die Fehlerkonsole?)?

    PS: Warum ist c_EP eine globale Variable? Und diese muss auch nicht immer definiert sein, wenn du sie abfragst.
    Ich bekomme keine Fehlermeldung in der Fehlerkonsole. Es funktioniert dahingehend nicht, dass die Veränderungen am HTML Code nicht durchgeführt werden. Sprich die Einträge bei "clanInfoLink", "anacht" und "avort" ändern sich nicht. In Firefox tun sie dies jedoch.

    c_EP ist eine Globale Variable, weil auch andere Scripte auf sie zugreifen außerhalb dieser Funktion.


    Zitat Zitat von miniA4kuser Beitrag anzeigen
    Warum machst du überhaupt so viele Funktionen und arbeitest nicht stattdessen mit Funktionsparametern?
    Weil ich in noch am Anfang meiner Programmierkünste stehe und deshalb nicht wirklich einen Überblick habe was das ist. Ich habe eben einfach angefangen zu Programmieren und es hat eben auch so funktioniert (zumindest im Firefox Browser ) Aber ich werde mich hier mal einlesen, vielleicht hilft es mir ja, danke für den Hinweis.

  10. #10
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.440

    AW: Javascript funktioniert in Firefox, jedoch nicht in Chrome

    Ah - ich sehe das Problem: der onclick auf den <option>s ist falsch. Du musst einen onchange auf dem <select> setzen... und damit musst du auch deine Funktionslogik ensprechend der Anmerkung von miniA4kuser umbauen...

    ... um das zu realisieren, würde ich die Daten, die du aus MySQL bekommst, direkt bei den <option>s als data-*-Attribute speichern.

  11. #11
    Naitscho ist offline Grünschnabel
    registriert
    01-04-2017
    Beiträge
    5

    AW: Javascript funktioniert in Firefox, jedoch nicht in Chrome

    Also ich habe es hin bekommen!

    Habe durch den Umbau etwas Code gespart und es funktioniert nun auch in Chrome.

    Ich habe, wie du sagtest die Daten aus MySQL in den option Part geschrieben und lasse diese dann auslesen und eintragen.

    Code:
    			<select id='clanAuswahl' name='newClan' onChange="clanAuswahl2()">
    			<option selected='selected' data-clanVort=' ' data-clanaNacht=' ' data-clanCost='0' value=''>Normal (0 EP)</option>
    <?php 
    // Clan Auswahlliste + Javascript für die Automatischen Nachteile/Vorteile + Abzüge bei der gesamt EPzahl.
    	while($zeile = mysqli_fetch_array( $db_erg3, MYSQL_ASSOC))
    		{
    ?>
    			
    	<option value='<?php echo $zeile['name'] ?>' 
    			data-clanaVort='<?php echo $zeile['auto_s'] ?>' 
    			data-clanaNacht='<?php echo $zeile['auto_vn'] ?>' 
    			data-clanCost='<?php echo $zeile['cost'] ?>'
    			data-clanLink='<?php echo $zeile['link'] ?>'
    			data-clanName='<?php echo $zeile['name'] ?>'><?php echo $zeile['name']?> (<?php echo $zeile['cost'] ?> EP)</option>
    
    
    
    
    <?php
    		}
    ?>		
    </select>
    Code:
    function clanAuswahl2()
    {
    var c_startEP = 0;
    var selected = document.getElementById('clanAuswahl').options[document.getElementById('clanAuswahl').selectedIndex];
    	c_EP = c_startEP -= selected.getAttribute('data-clanCost');
    	document.getElementById("clanInfoLink").href= selected.getAttribute('data-clanLink');
    	document.getElementById("clanInfoLink").innerHTML= selected.getAttribute('data-clanName')+" Claninfos";
    	document.getElementById('clanaNacht').innerHTML = selected.getAttribute('data-clanaNacht');
    	document.getElementById('clanaVort').innerHTML = selected.getAttribute('data-clanaVort');
    	uebergabe();
    }
    Danke für die Hilfe!

  12. #12
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.440

    AW: Javascript funktioniert in Firefox, jedoch nicht in Chrome

    Du kannst deine Zugriffe auf ie data-*-Attribute sogar noch vereinfachen: https://developer.mozilla.org/en-US/...lement/dataset

    Zitat Zitat von Naitscho Beitrag anzeigen
    Danke für die Hilfe!
    Bitte - gern geschehen.

Ähnliche Themen

  1. [GELÖST] Script Funktioniert im Chrome, nicht im Firefox
    Von betra im Forum JavaScript
    Antworten: 12
    Letzter Beitrag: 01-03-2017, 17:48
  2. setAttribute funktioniert nicht im IE und im Chrome
    Von siggedy im Forum JavaScript
    Antworten: 5
    Letzter Beitrag: 01-12-2010, 21:54
  3. Javascript funktioniert nicht unter Firefox
    Von lesnoj im Forum JavaScript
    Antworten: 6
    Letzter Beitrag: 10-11-2009, 16:15
  4. Antworten: 2
    Letzter Beitrag: 11-10-2007, 19:22
  5. Mein JavaScript funktioniert im Firefox nicht...
    Von Peregrinus im Forum JavaScript
    Antworten: 12
    Letzter Beitrag: 23-01-2007, 12:23

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •