Forum

Moderiert von: stefan, spinne
Forum Index
Support
     Module
     Problem bei ANYPAGE
Hilfe anzeigen
Hilfe anzeigen

Seite 1 2 3 vorherige Seite 


Autor Druckerfreundliche DarstellungProblem bei ANYPAGE
Freespacer

Registriert: 03.10.2006
Beiträge: 205
Wohnort: Essen


Sende eine Private Nachricht an Freespacer
Geschrieben: 26.11.2006 22:50

Boby schrieb am 26.11.2006 um 22:31:50 Uhr folgendes:

Allerdings habe ich dann ein Problem mit meiner Lösung - denn ich brauche das "onload" um bestimmte Elemente zu verstecken. Das onload gehört aber in den BODY der Seite - den ich aber nicht verändern kann, da der BODY-Tag ja nicht von mir kommt...

"onload" darf aber nur in BODY und FRAMESET verwendet werden - also muss ich offenbar eine andere Lösung für einen "autoexec"-Code in OPN finden.


Hallo Boby,

du kannst die Elemente per CSS (style='display:none;')verstecken. Und beim OnClick bzw. OnChange in einem INPUT-Element kannst du die Style-Sheets per JavaScript ( document.getElementById('idname').style.visibility='visible'; ) ja wieder sichbar machen.

Das dürfte auch klappen. Ist nur ein Denkanstoß...

Beispiel:

<div id="versteckt" style="display:none;">Versteckt wird es beim Klick auf Radio sichtbar</div>
<input type="radio" name="radiobutton" value="radio1" onClick="JavaScript:document.getElementById('versteckt').style.visibility='visible';">


Du kannst ja auch gleich 2 JavaScript-Befehle unterbringen, dass das eine Feld sichtbar macht und das andere wieder versteckt.

Gruß

Sebastian


Zitieren Druckerfreundliche Darstellung nach oben
stefan
Wohnort: Münster


Sende eine Private Nachricht an stefan
ICQ
Geschrieben: 27.11.2006 14:43

Boby schrieb am 26.11.2006 um 22:31:50 Uhr folgendes:


Allerdings habe ich dann ein Problem mit meiner Lösung - denn ich brauche das "onload" um bestimmte Elemente zu verstecken.



versteh ich nicht ganz wieso unbedingt ein onload du kannst doch wie Sebastian schrieb JS in den body packen? wo ist das problem? ich verstehe nicht das problem dabei oder das was du erreichen willst.


Zitieren Druckerfreundliche Darstellung nach oben
Gast
Unregistrierter Benutzer
Geschrieben: 28.11.2006 22:48

Okay, jetzt habe es auch ich geschnallt, dass das onload nicht notwendig war. Ich hatte dummerweise den Aufruf meiner function VOR dem Aufbau der FORM drinnen - und deshalb hat die "initiale" Abschaltung nicht gefunzt; hab's nun ans Ende der Seite verlagert - und nun ist mein OnLoad-Problem gelöst.

Jetzt bin ich das letzte mal unverschämt und hoffe auf einen Tipp der Wep-Spezialisten:
style.display="none" funzt zwar im IE, aber nicht im Firefox - das habe ich auf einigen Seiten als Hinweis gefunden. Meine Versuche mit style.visibility=visible/hidden funktionieren im FF aber auch nicht - und im IE bleibt das Feld auf seinem Platz kleben wenn ich mit visibility arbeite - mit display rückt dagegen das zweite Feld auf den Platz des ersten - was mir besser gefallen würde.

Wie kann ich ein Element so verstecken/anzeigen, dass es im FF und IE gleich funktionert?

Danke,
Boby


Zitieren Druckerfreundliche Darstellung nach oben
Freespacer

Registriert: 03.10.2006
Beiträge: 205
Wohnort: Essen


Sende eine Private Nachricht an Freespacer
Geschrieben: 28.11.2006 23:44

Boby schrieb am 28.11.2006 um 22:48:23 Uhr folgendes:

Jetzt bin ich das letzte mal unverschämt und hoffe auf einen Tipp der Wep-Spezialisten:
style.display="none" funzt zwar im IE, aber nicht im Firefox - das habe ich auf einigen Seiten als Hinweis gefunden. Meine Versuche mit style.visibility=visible/hidden funktionieren im FF aber auch nicht - und im IE bleibt das Feld auf seinem Platz kleben wenn ich mit visibility arbeite - mit display rückt dagegen das zweite Feld auf den Platz des ersten - was mir besser gefallen würde.

Wie kann ich ein Element so verstecken/anzeigen, dass es im FF und IE gleich funktionert?


Ich habe folgenden JS-Code für IE/FF/Opera und co. verwendet.

1. Möglichkeit:


// Elemente sichbar machen
document.getElementById("idname").style.display='inline';

// Elemente verstecken
document.getElementById("idname").style.display='none';


2. Möglichkeit:

// Elemente sichbar machen
document.getElementById("idname").style.position='';
document.getElementById("idname").style.visibility='visible';

// Elemente verstecken
document.getElementById("idname").style.position='absolute';
document.getElementById("idname").style.visibility='hidden';


Du musst schauen, welcher von beiden JS-Codes dir eher deinem Vorhaben entspricht.

Gruß

Sebastian


Zitieren Druckerfreundliche Darstellung nach oben
Gast
Unregistrierter Benutzer
Geschrieben: 29.11.2006 22:38

Offenbar bin ich zu blöd, um dem FF das beizubringen. Folgender Code funktionert unter dem IE ohne Probleme - und der FF (2.) ignoriert das display inline/none einfach - so als wär's gar nicht da:
<script type="text/javascript">
function ShowFactor()
{ if (document.SpeedForm.F_RADIO_PITCH[1].checked)
{
document.getElementById("F_PROP_FACTOR").style.display= 'none';
document.getElementById("F_PROP_FACTOR_MM").style.display = 'inline';
}
else
{
document.getElementById("F_PROP_FACTOR").style.display= 'inline';
document.getElementById("F_PROP_FACTOR_MM").style.display = 'none';
}
}
</script>

Der abgefrage Radio-Button hat im onclick-Event den Aufruf "ShowFactor();" drinnen...
Wenn ich in den IF/ELSE-Zweig ein ALERT einbaue, wird es mir auch korrekt angezeigt - es liegt also nicht am IF-Konstrukt, sondern definitiv am Anzeigen/Verstecken der Elemente.

Warum geht's im FF nicht??? Ich bin schön langsam am Verzweifeln...

Ciao,
Boby
[addsig]

Zitieren Druckerfreundliche Darstellung nach oben
Freespacer

Registriert: 03.10.2006
Beiträge: 205
Wohnort: Essen


Sende eine Private Nachricht an Freespacer
Geschrieben: 29.11.2006 23:54

Boby schrieb am 29.11.2006 um 22:38:31 Uhr folgendes:

Offenbar bin ich zu blöd, um dem FF das beizubringen. Folgender Code funktionert unter dem IE ohne Probleme - und der FF (2.) ignoriert das display inline/none einfach - so als wär's gar nicht da:

...

Der abgefrage Radio-Button hat im onclick-Event den Aufruf "ShowFactor();" drinnen...
Wenn ich in den IF/ELSE-Zweig ein ALERT einbaue, wird es mir auch korrekt angezeigt - es liegt also nicht am IF-Konstrukt, sondern definitiv am Anzeigen/Verstecken der Elemente.

Warum geht's im FF nicht??? Ich bin schön langsam am Verzweifeln...


Hallo Boby,

nicht verzweifeln. Es gibt ja das Sprichwort: Man sieht vor lauter Bäume den Wald nicht mehr.

Auf deiner Seite: http://www.rc-boote.at/upload/boby/speedcalc2_multi.php

Da reagiert Firefox zu recht nicht auf diesen Javascript, weil es nämlich nicht weiß, was er ändern soll. (Der IE sollte normalerweise auch nicht darauf reagieren!!! Das regt mich wieder mal auf.)


Also, wenn wir einen Teil vom JavaScript-Befehl anschauen wie getElementById("F_PROP_FACTOR"), dann erkennt man das er ein Element abfragt, dessen ID = F_PROP_FACTOR ist und der nachfolgende Befehl (Node) wird das Element mit dieser ID gesteuert. Daher ist dein Script korrekt.

Schauen wir uns jetzt mal im Formular die Elemente an, die im Script angesprochen werden sollte.

...
<select size="1" name="F_PROP_FACTOR">
...
</select>
...
<input type="text" name="F_PROP_FACTOR_MM" size="3" value = "0">
...


In diesem Fall sehen wir, dass du für die Elemente keine ID gesetzt hast.

Angepasst auf dein JavaScript sollte der Code so lauten:

...
<select size="1" name="F_PROP_FACTOR" id="F_PROP_FACTOR">
...
</select>
...
<input type="text" name="F_PROP_FACTOR_MM" id="F_PROP_FACTOR_MM" size="3" value = "0">
...


Erst jetzt springt Firefox an, weil er auch die ID in diesem HTML-Dokument finden kann. Und das ist auch so korrekt, weil nachvollziehbar. Alles andere wäre blödsinn. (Siehe IE)

Ich hoffe, es war soweit verständlich.

Schönen Abend noch.

Gruß

Sebastian


Zitieren Druckerfreundliche Darstellung nach oben
Gast
Unregistrierter Benutzer
Geschrieben: 30.11.2006 00:04

DANKE, DAS WAR'S!
Nachdem ich mit Forms & Javascript noch nicht so bewandert bin, ist mir der kleine aber feine Unterschied (ID NAME) gar nicht aufgefallen.

Der Fehler hat mich nun Tage gekostet - und einigen hier auch - sorry.
Der IE dürfte in Ermangelung der ID dann wohl den Namen als "ID" interpretieren...

Ciao & Gute Nacht,
Boby
[addsig]

Zitieren Druckerfreundliche Darstellung nach oben
Freespacer

Registriert: 03.10.2006
Beiträge: 205
Wohnort: Essen


Sende eine Private Nachricht an Freespacer
Geschrieben: 30.11.2006 00:16

Boby schrieb am 30.11.2006 um 00:04:06 Uhr folgendes:

DANKE, DAS WAR'S!
Nachdem ich mit Forms & Javascript noch nicht so bewandert bin, ist mir der kleine aber feine Unterschied (ID NAME) gar nicht aufgefallen.


Bitte schön! Wie ich ja bereits gesagt habe, dass man auch mal was übersehen kann.

Boby schrieb am 30.11.2006 um 00:04:06 Uhr folgendes:

Der Fehler hat mich nun Tage gekostet - und einigen hier auch - sorry.


Das ist jetzt nicht dein Ernst??? Wofür entschuldigst du dich, wenn du doch bereit bist Javascript zu lernen. Wie sagt man so schön: LEARNING BY DOING.

Wenn du noch irgendwelche Fragen oder Probleme zu JavaScript hast, dann melde dich einfach. Ich und auch andere im Forum werden dir dabei helfen.

Boby schrieb am 30.11.2006 um 00:04:06 Uhr folgendes:

Der IE dürfte in Ermangelung der ID dann wohl den Namen als "ID" interpretieren...


Sollte er eigentlich nicht. Aber wir wissen ja, dass er sehr oft gegen über den anderen Browsern aus der Reihe tanzt.

Gruß

Sebastian


Zitieren Druckerfreundliche Darstellung nach oben
sortieren nach
Seite 1 2 3 vorherige Seite 

Hilfe anzeigen
Hilfe anzeigen
Vorheriges Thema:  opn live
Nächstes Thema:  Pdf-Artikel hängt an einem Bild

Gehe zu:

Benutzername:
 
Sicherheits-Code
Sicherheits-Code
Neu laden