Javascript-Forum JSwelt (Javascript, PHP, MySQL, AJAX, Webdesign)
 

Zurück   Javascript-Forum JSwelt (Javascript, PHP, MySQL, AJAX, Webdesign) > Webdesign > JavaScript

Antwort
 
LinkBack Themen-Optionen Ansicht
Skript inkompatibel mit Firefox?
Alt
  (#1 (permalink))
Grünschnabel
Lostelei befindet sich auf einem aufstrebenden Ast
 
Offline
Beiträge: 6
registriert: 03-05-2008
Skript inkompatibel mit Firefox? - 03-05-2008, 16:38

Hallo zusammen,
Also ich bin normalerweise kein Javascript Programmierer, daher habe ich wenig Ahnung ueber die ganzen Grundsaetzlichkeiten, und fummle Skripte immer nur nach Bedarf irgendwie zusammen, daher verzeiht mir vielleicht unsauberen JS Code, oder sowas.
Bevor ich euch den Code reinkopiere, erklaere ich mal in Worten, was ich mache, und was passiert.

Ich habe ein Formular (name = "formular") mit Radiobuttons (name ="a1"). Jeder Button ruft onClick die zustaendige Funktion auf, die prueft ob der 7. Radiobutton aktiv ist. Dann soll ein zuvor mit der CSS Angabe "display: none;" versteckter DIV Layer (id = "a11") mit dem Javascript Befehl "a11.style.display = 'block';" sichtbar gemacht werden, um ein weiteres Eingabefeld anzuzeigen. Diese Zeile ist das Problem.

Die Besonderheit ist, dass es ja eigentlich funktioniert. Auf Safari unter OS X, auf Internet Explorer unter Windows, und auf Opera unter Windows. Nicht jedoch auf Firefox. Weder unter OS X noch Windows.
Die Error Console in Firefox meint 'a11 is not defined'. Also ignoriert er wohl auf irgendeine Art und Weise ploetzlich, dass der DIV a11 existiert.
"Ploetzlich" sage ich vor allem deshalb, weil ich als ich das Skript anfing zu schreiben, es ja nur auf Firefox testete und es anfangs klappte, also muss ich irgendetwas geaendert haben, das Firefox nicht passt, aber ich kann nicht nachvollziehen, was es sein koennte.

Hier der Javascript Code:
Code:
<script language="javascript">
function a11Visibility() {
	var val = document.formular.a1[7].checked;
	if(val == true) {
		a11.style.display = 'block';

	} else {
		a11.style.display = 'none';
	}
}
</script>
Under der HTML Part:
Code:
<form name="formular" action="index.php?mode=page2" method="POST">
<b>Woher kennst Du unsere Seite?</b><br />
<input type="radio" name="a1" value="1" onClick="a11Visibility()" /> Rezensionen auf derstandard.at<br />
<input type="radio" name="a1" value="2" onClick="a11Visibility()" /> Medienberichte &uuml;ber textfeld (Presse, Unique...)<br />
<input type="radio" name="a1" value="3" onClick="a11Visibility()" /> Wiener Alumni-Verband<br />
<input type="radio" name="a1" value="4" onClick="a11Visibility()" /> Verlinkungen &uuml;ber / Berichte von Strvs, Bagrus, Uniwebseiten...<br />
<input type="radio" name="a1" value="5" onClick="a11Visibility()" /> Werbematerialien<br />
<input type="radio" name="a1" value="6" onClick="a11Visibility()" /> Suchmaschine<br />
<input type="radio" name="a1" value="11" onClick="a11Visibility()" /> Mundpropaganda<br />
<input type="radio" name="a1" value="12" onClick="a11Visibility()" /> Andere <br />
<div id="a11" style="display: none;">Welche? <input type="text" name="a11" value="" maxlength="255" /></div>
</form>
Ich dachte anfangs es koennte ein Problem sein, dass der INPUT Tag innerhalb des DIV auch name= "a11" bekam, wodurch es fuer Javascript nicht mehr eindeutig ist, welcher der beiden gemeint ist, aber ich habe das name Attribut auch schon rausgenommen - es spielt keine Rolle.

Also~ hat irgendwer einen Tipp, wieso Firefox den Befehl "a11.style.display = 'block'" nicht umsetzt? Braucht es zusaetzliche Deklarationen? (simple Dinge wie document.a11.style.display stattdessen zu machen versuchte ich schon, auch kein Erfolg)

Vielen Dank im Vorhinein, falls mir jemand helfen kann und moechte!

Geändert von Lostelei (03-05-2008 um 16:40 Uhr).
   
Mit Zitat antworten
Werbeanzeige
Alt
 
jswelt-Partner


JavaScriptbücher zum Sonderpreis - 03-05-2008, 16:38
 
Einführung in JavaScript
JavaScript ist eine der am weitesten verbreiteten Skriptsprachen überhaupt, und durch die Popularität von Ajax-Anwendungen hat das Interesse an der Sprache noch einmal zugelegt.

Egal, ob Sie JavaScript von Grund auf lernen oder nur etwas Auffrischung brauchen, mit Einführung in JavaScript können Sie sich das volle Potenzial von JavaScript erschließen: Kompakt und praxisorientiert vermittelt das Buch Syntax und Struktur der Sprache und stellt typische Einsatzmöglichkeiten von JavaScript vor. Neben den JavaScript-Grundlagen werden ebenso anspruchsvolle Themen wie das Document Object Model (DOM), JavaScript in Verbindung mit DHTML und Ajax oder Sicherheitsfragen behandelt. Praktische Übungen mit Lösungen helfen Ihnen, Ihr eben erworbenes Wissen zu vertiefen und sofort in die Tat umzusetzen.

Preis: früher: 34,90€ - jetzt nur: 9,95€

Hier geht es direkt zum Buch

Über 1.000 weitere IT-Bücher zum Sonderpreis lieferbar!

AW: Skript inkompatibel mit Firefox?
Alt
  (#2 (permalink))
Foren-Gott
jeko befindet sich auf einem aufstrebenden Ast
 
Benutzerbild von jeko
 
Offline
Beiträge: 3.012
registriert: 03-06-2004
Ort: [CH]Vor meinem PC[/CH]
AW: Skript inkompatibel mit Firefox? - 03-05-2008, 16:53

Bei mir funktioniert das Beispiel (WinXP, Fifo 2.0.0.14).


Arbeit an der Sprache ist Arbeit am Gedanken.
NoPaste / Format / Analyze / Crypt
Ich bin ein Schwätzer.
   
Mit Zitat antworten
AW: Skript inkompatibel mit Firefox?
Alt
  (#3 (permalink))
Grünschnabel
Lostelei befindet sich auf einem aufstrebenden Ast
 
Offline
Beiträge: 6
registriert: 03-05-2008
AW: Skript inkompatibel mit Firefox? - 03-05-2008, 17:33

Danke fuer's Testen! Wenn ich es einfach nur alleine in eine Datei packe klappt es bei mir auch. Das macht die Sache aber nur noch mysterioeser, weil das einzige was in meiner Datei sonst noch steht sind halt die ganzen HTML head Daten und darunter auch nur ein anderer Div und </body></html>

Der komplette Quelltext der Seite ist momentan:
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<title>Textfeld Umfrage</title>
<link rel="stylesheet" type="text/css" href="style.css"/>
</head>
<body>
<div id="wrap"> <!-- AB HIER eigentlicher Code -->
	<script language="javascript">
function a11Visibility() {
	var val = document.formular.a1[7].checked;
	if(val == true) {
		a11.style.display = 'block';

	} else {
		a11.style.display = 'none';
	}
}
function a2Visibility() {
	if(document.formular.a2[0].checked == true) {
		a21.style.display = 'block';		
	} else {
		a21.style.display = 'none';	
	}
	if(document.formular.a2[1].checked == true) {
		a22.style.display = 'block';		
	} else {
		a22.style.display = 'none';	
	}
	if(document.formular.a2[2].checked == true) {
		a23.style.display = 'block';		
	} else {
		a23.style.display = 'none';	
	}

}
</script>
<form name="formular" action="index.php?mode=page2" method="POST">
<b>Woher kennst Du textfeld.ac.at?</b><br />
<input type="radio" name="a1" value="1" onClick="a11Visibility()" /> Rezensionen auf derstandard.at<br />

<input type="radio" name="a1" value="2" onClick="a11Visibility()" /> Medienberichte &uuml;ber textfeld (Presse, Unique...)<br />
<input type="radio" name="a1" value="3" onClick="a11Visibility()" /> Wiener Alumni-Verband<br />
<input type="radio" name="a1" value="4" onClick="a11Visibility()" /> Verlinkungen &uuml;ber / Berichte von Strvs, Bagrus, Uniwebseiten...<br />
<input type="radio" name="a1" value="5" onClick="a11Visibility()" /> Werbematerialien<br />
<input type="radio" name="a1" value="6" onClick="a11Visibility()" /> Suchmaschine<br />

<input type="radio" name="a1" value="11" onClick="a11Visibility()" /> Mundpropaganda<br />
<input type="radio" name="a1" value="12" onClick="a11Visibility()" /> Andere <br />
<div id="a11" style="display: none;">Welche? <input type="text" name="a11" value="" maxlength="255" /></div>
<br /><br />
<b>K&ouml;nntest du dir vorstellen, deine Texte (Seminararbeiten, Diplomarbeiten, Dissertationen, Paper) online zu stellen?</b><br />
<input type="radio" name="a2" value="1" onClick="a2Visibility()" /> Ja, aber nur gegen Entgelt<br />
<div id="a21" style="display: none; margin-left: 20px;"><input type="radio" name="a21" value="1" /> Habe ich schon gemacht<br />

<input type="radio" name="a21" value="2" /> Habe ich noch nie gemacht<br /></div>
<input type="radio" name="a2" value="2" onClick="a2Visibility()" /> Ja, auch unentgeltich<br />
<div id="a22" style="display: none; margin-left: 20px;"><input type="radio" name="a22" value="1" /> Habe ich schon gemacht<br />
<input type="radio" name="a22" value="2" /> Habe ich noch nie gemacht<br /></div>
<input type="radio" name="a2" value="3" onClick="a2Visibility()" /> Nein<br />
<div id="a23" style="display: none; margin-left: 20px;">Was sind deine Motive daf&uuml;r? <input type="text" name="a23" value="" maxlength="255" /></div>

</form> <!-- AB HIER eigentlicher Code Ende -->
		
	<div id="footer"><a href="http://www.textfeld.ac.at">textfeld.ac.at</a></div></div><!-- zweiter DIV End Tag wegen dem "wrap" DIV ganz am Anfang -->
</body>
</html>
Kann es wirklich sein, dass irgendetwas das um den eigentlich betreffenden Code steht, verhindert, dass es funktioniert?
Jetzt bin ich erst recht verwirrt.
   
Mit Zitat antworten
AW: Skript inkompatibel mit Firefox?
Alt
  (#4 (permalink))
Moderator
anna55 befindet sich auf einem aufstrebenden Ast
 
Benutzerbild von anna55
 
Offline
Beiträge: 3.140
registriert: 07-02-2006
Ort: Taunusstein
AW: Skript inkompatibel mit Firefox? - 03-05-2008, 19:19

Zitat:
Zitat von Lostelei Beitrag anzeigen
Kann es wirklich sein, dass irgendetwas das um den eigentlich betreffenden Code steht, verhindert, dass es funktioniert?
Jetzt bin ich erst recht verwirrt.
Im Quirksmode funktioniert es auch im FF.




.:Taunusstein - Nachrichten und Kommentare


"Ich bin doch lieber jeden Tag glücklich als im Recht."
(Per Anhalter durch die Galaxis)
   
Mit Zitat antworten
AW: Skript inkompatibel mit Firefox?
Alt
  (#5 (permalink))
Grünschnabel
Lostelei befindet sich auf einem aufstrebenden Ast
 
Offline
Beiträge: 6
registriert: 03-05-2008
AW: Skript inkompatibel mit Firefox? - 03-05-2008, 19:50

Danke fuer die Info auch.

Ich bin inzwischen so weit, zu wissen, dass es was mit dem Doctype und der Validitaet des Dokuments zu tun haben muss. Vermutlich ist Firefox mal wieder so valide, dass er Invalide ist. Wenn ich den Doctype vollkommen rausnehme, geht es naemlich mit dem ganzen Dokument auch. Aber das kann ja wohl keine Loesung sein.
Ich hab erstmal auf xhtml transitional gedowngradet, und es dort vollkommen validiert, aber deshalb geht das auch nicht. Genausowenig wenn ich auf normales HTML strict runtergehe.

Gibt es vielleicht eine Dokumentation darueber, was Firefox anders macht, wenn er im Quirks Mode laeuft? evtl. koennte ich ja damit endlich den Fehler finden.

aktuelle xhtml transitional version sieht nun uebrigens so aus:
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=utf-8"/>
<title></title>
</head>
<body>
<script language="javascript" type="text/javascript">
function a11Visibility() {
	var val = document.formular.a1[7].checked;
	if(val == true) {
		a11.style.display = 'block';

	} else {
		a11.style.display = 'none';
	}
}
</script>
<form name="formular" action="index.php?mode=page2" method="post">
<b>Woher kennst Du unsere Seite?</b><br />
<input type="radio" name="a1" value="1" onclick="a11Visibility()" /> Rezensionen auf derstandard.at<br />
<input type="radio" name="a1" value="2" onclick="a11Visibility()" /> Medienberichte &uuml;ber textfeld (Presse, Unique...)<br />
<input type="radio" name="a1" value="3" onclick="a11Visibility()" /> Wiener Alumni-Verband<br />
<input type="radio" name="a1" value="4" onclick="a11Visibility()" /> Verlinkungen &uuml;ber / Berichte von Strvs, Bagrus, Uniwebseiten...<br />
<input type="radio" name="a1" value="5" onclick="a11Visibility()" /> Werbematerialien<br />
<input type="radio" name="a1" value="6" onclick="a11Visibility()" /> Suchmaschine<br />
<input type="radio" name="a1" value="11" onclick="a11Visibility()" /> Mundpropaganda<br />
<input type="radio" name="a1" value="12" onclick="a11Visibility()" /> Andere <br />
<div id="a11" style="display: none;">Welche? <input type="text" name="a11" value="" maxlength="255" /></div>
</form>
</body>
</html>
   
Mit Zitat antworten
AW: Skript inkompatibel mit Firefox?
Alt
  (#6 (permalink))
Moderator
anna55 befindet sich auf einem aufstrebenden Ast
 
Benutzerbild von anna55
 
Offline
Beiträge: 3.140
registriert: 07-02-2006
Ort: Taunusstein
AW: Skript inkompatibel mit Firefox? - 03-05-2008, 20:54

Da ich kein Scripter bin, weiß ich nicht, wie Du dieses Script umschreiben musst, damit es im FF funktioniert.
Die Fehlerkonsole im FF meldet immer noch "Fehler: a11 is not defined".

Es funktioniert offensichtlich nicht, wenn Du korrektes XHTML verwendest, zu dem auch ein richtiger Doctype gehört.

Infos zu Doctypes findest Du hier:
puredesign.ch Webdesign | Doctypes: Websites mit dem richtigen Doctype versehen
LANtastic’s Artikel » DTD - Document Type Declaration - Das richtige Doctype
CSS - Quirks mode and strict mode

Also muss a11 definiert werden, wie auch immer.




.:Taunusstein - Nachrichten und Kommentare


"Ich bin doch lieber jeden Tag glücklich als im Recht."
(Per Anhalter durch die Galaxis)
   
Mit Zitat antworten
AW: Skript inkompatibel mit Firefox?
Alt
  (#7 (permalink))
Grünschnabel
Lostelei befindet sich auf einem aufstrebenden Ast
 
Offline
Beiträge: 6
registriert: 03-05-2008
AW: Skript inkompatibel mit Firefox? - 03-05-2008, 21:38

Also mein Verdacht ist, dass Firefox irgendwas am DIV nicht passt im Zusammenhang mit validem HTML. Und deshalb wird dann dieser DIV mit id a11 nicht fuer Javascript "definiert".
aber was kann man an der Zeile
Code:
<div id="a11" style="display: none;">Welche? <input type="text" name="a11" value="" maxlength="255" /></div>
groß besser machen?
   
Mit Zitat antworten
AW: Skript inkompatibel mit Firefox?
Alt
  (#8 (permalink))
Foren-Gott
jeko befindet sich auf einem aufstrebenden Ast
 
Benutzerbild von jeko
 
Offline
Beiträge: 3.012
registriert: 03-06-2004
Ort: [CH]Vor meinem PC[/CH]
AW: Skript inkompatibel mit Firefox? - 04-05-2008, 12:19

Mach den Zugriff auf die Element mal über getElementBy-Funktionen und nicht mit dem hässlichen all.


Arbeit an der Sprache ist Arbeit am Gedanken.
NoPaste / Format / Analyze / Crypt
Ich bin ein Schwätzer.
   
Mit Zitat antworten
AW: Skript inkompatibel mit Firefox?
Alt
  (#9 (permalink))
Grünschnabel
Lostelei befindet sich auf einem aufstrebenden Ast
 
Offline
Beiträge: 6
registriert: 03-05-2008
AW: Skript inkompatibel mit Firefox? - 04-05-2008, 13:40

Das ist a11 nicht all und einfach die ID von dem Layer. Andere Methoden den Layer anzusprechen muesste man mir erst erklaeren, bzw. 'ne Referenz dazu empfehlen.
   
Mit Zitat antworten
AW: Skript inkompatibel mit Firefox?
Alt
  (#10 (permalink))
Moderator
anna55 befindet sich auf einem aufstrebenden Ast
 
Benutzerbild von anna55
 
Offline
Beiträge: 3.140
registriert: 07-02-2006
Ort: Taunusstein
AW: Skript inkompatibel mit Firefox? - 04-05-2008, 13:44

So sollte es gehen
PHP-Code:
<script language="javascript" type="text/javascript">
function 
a11Visibility() {
    var 
val document.formular.a1[7].checked;
    if(
val == true) {
        
document.getElementById('a11').style.display 'block';

    } else {
        
document.getElementById('a11').style.display 'none';
    }
}
</script> 
Referenz dazu
SELFHTML: JavaScript / Objektreferenz / document




.:Taunusstein - Nachrichten und Kommentare


"Ich bin doch lieber jeden Tag glücklich als im Recht."
(Per Anhalter durch die Galaxis)
   
Mit Zitat antworten
AW: Skript inkompatibel mit Firefox?
Alt
  (#11 (permalink))
Foren-Gott
jeko befindet sich auf einem aufstrebenden Ast
 
Benutzerbild von jeko
 
Offline
Beiträge: 3.012
registriert: 03-06-2004
Ort: [CH]Vor meinem PC[/CH]
AW: Skript inkompatibel mit Firefox? - 04-05-2008, 13:45

Zitat:
Zitat von Lostelei Beitrag anzeigen
Das ist a11 nicht all und einfach die ID von dem Layer. Andere Methoden den Layer anzusprechen muesste man mir erst erklaeren, bzw. 'ne Referenz dazu empfehlen.
Danke, dessen war ich mir durchaus bewusst.

SELFHTML: JavaScript / Objektreferenz / all


Arbeit an der Sprache ist Arbeit am Gedanken.
NoPaste / Format / Analyze / Crypt
Ich bin ein Schwätzer.
   
Mit Zitat antworten
AW: Skript inkompatibel mit Firefox?
Alt
  (#12 (permalink))
Grünschnabel
Lostelei befindet sich auf einem aufstrebenden Ast
 
Offline
Beiträge: 6
registriert: 03-05-2008
AW: Skript inkompatibel mit Firefox? - 04-05-2008, 18:56

Da kann ich nur noch sagen: Vielen Dank!
Nun streikt auch Firefox nicht mehr bei dem Skript.

Und sorry, falls meine Bemerkung irgendwie belehrend rueber kam, so war sie absolut nicht aufzufassen. Nur da ich eben wenig Ahnung von Basics von Javascript habe, wollte ich sichergehen, dass keine Missvestaendnisse aufkommen (haette ja sein koennen, dass 'all' irgendeine sehr unelegante Methode der Referenzierung ist, oder irgendwas)!
   
Mit Zitat antworten
AW: Skript inkompatibel mit Firefox?
Alt
  (#13 (permalink))
Foren-Gott
jeko befindet sich auf einem aufstrebenden Ast
 
Benutzerbild von jeko
 
Offline
Beiträge: 3.012
registriert: 03-06-2004
Ort: [CH]Vor meinem PC[/CH]
AW: Skript inkompatibel mit Firefox? - 05-05-2008, 22:54

Kein Problem, ich bin da gerne auch etwas überempfindlich. Aber ich arbeite daran.


Arbeit an der Sprache ist Arbeit am Gedanken.
NoPaste / Format / Analyze / Crypt
Ich bin ein Schwätzer.
   
Mit Zitat antworten
Werbeanzeige
Alt
 
jswelt-Partner


Werbung - 05-05-2008, 22:54
 

Antwort

Lesezeichen

Themen-Optionen
Ansicht

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.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
js / Firefox: Bildwechsel vor vorherstendem Skript aliasc JavaScript 1 01-03-2008 14:20
Komplexes Problem in Firefox mit Ajax, Prototype und tinyMCE Kaleu JavaScript 5 10-10-2007 12:05
Suche Skript für IFrame Anpassung PowerMan JavaScript 0 12-08-2006 13:55
Skript funktioniert nicht im Mozilla Firefox dirk007 Script-Check 18 23-03-2006 19:14
Firefox jkuhn1 JavaScript 7 10-07-2005 16:45





Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2010, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.1.0

jswelt Netzwerk: * Kontakt - jswelt - Archiv - Nach oben