php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


HTML, JavaScript, AJAX, jQuery, CSS, Bootstrap, LESS Probleme mit HTML5, Bootstrap oder jQuery ?

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 31-08-2007, 16:45
philippCH
 Registrierter Benutzer
Links : Onlinestatus : philippCH ist offline
Registriert seit: Aug 2003
Beiträge: 161
philippCH ist zur Zeit noch ein unbeschriebenes Blatt
Standard Probleme mit globaler Variable in JS

Hallo zusammen

Ich habe folgendes kleines Script.

[PHP]
<script type="text/javascript">
var Wert = "global";
function loadInfo(info) {
switch (info) {
case 1: Wert = "Ausgabe von Informationen 1";
break;

case 2: Wert = "Ausgabe von Informationen 2";
break;

case 3: Wert = "Ausgabe von Informationen 3";
break;

default: Wert = "Ausgabe von Informationen X";
}
}
</script>


<a href="#" onClick="loadInfo(2)">Testlink</a><br>


<script type="text/javascript">
document.write(Wert);
</script>
[PHP]
Eigentlich sollte es, wenn auf einen Link geklickt wird, über die Funktion loadInfo() den Inhalt an einem bestimmten Ort auf der Seite anpassen ohne die Seite neu zu laden. Aber leider wird der Wert in der Variable "Wert" nicht korrekt übergeben, d.h. die Funktion wird zwar aufgerufen, aber der Inhalt von "Wert" ausserhalb der Funktion ändert sich nicht obwohl dies laut allen How-To's die ich gelesen habe so funktionieren sollte.

Nur wo liege ich falsch?

Danke für eure Hilfe.

Gruss Philipp
Mit Zitat antworten
  #2 (permalink)  
Alt 31-08-2007, 16:58
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Übergib info als String (also loadInfo('2') und teste im switch ebenfalls auf String (case "2"...). Dann funzt es

Gruss

tobi
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #3 (permalink)  
Alt 31-08-2007, 17:11
philippCH
 Registrierter Benutzer
Links : Onlinestatus : philippCH ist offline
Registriert seit: Aug 2003
Beiträge: 161
philippCH ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke für deinen Hinweis, aber leider ändert sich nichts...

Das Script sieht nun so aus:
<script type="text/javascript">
var Wert = "global";
function loadInfo(info) {

switch (info) {
case "1": Wert = "Ausgabe von Informationen 1";
break;

case "2": Wert = "Ausgabe von Informationen 2";
break;

case "3": Wert = "Ausgabe von Informationen 3";
break;

default: Wert = "Ausgabe von Informationen X";
}
}
</script>


<a href="#" onClick="loadInfo('2')">Testlink</a><br>


<script type="text/javascript">
document.write(Wert);
</script>

Aber egal wie oft ich auf den Link "Testlink" klicke, als Ausgabe kommt immer "global" raus...
Mit Zitat antworten
  #4 (permalink)  
Alt 31-08-2007, 17:12
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Das document.write() führt dein Browser sofort aus, sobald er das </script> danach empfangen hat.
Da du erst danach auf den Link klickst, kannst du damit zwar den Inhalt der Variablen ändern, aber das document.write() wird dadurch nicht automatisch noch einmal ausgeführt.
Mit Zitat antworten
  #5 (permalink)  
Alt 31-08-2007, 17:15
philippCH
 Registrierter Benutzer
Links : Onlinestatus : philippCH ist offline
Registriert seit: Aug 2003
Beiträge: 161
philippCH ist zur Zeit noch ein unbeschriebenes Blatt
Standard

OK, aber wie krieg das nun hin? Genau das will ich ja machen können...
Mit Zitat antworten
  #6 (permalink)  
Alt 31-08-2007, 17:23
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.724
Kropff befindet sich auf einem aufstrebenden Ast
Standard

pack das document.write in die funktion.

gruß
peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #7 (permalink)  
Alt 31-08-2007, 17:31
philippCH
 Registrierter Benutzer
Links : Onlinestatus : philippCH ist offline
Registriert seit: Aug 2003
Beiträge: 161
philippCH ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hab ich schon versucht. War sogar mein erster Gedanke, aber wenn ich das mache, dann wird mir immer die bestehende Seite zugeklatscht und der Wert in der Variable auf einer ansonsten weissen Seite angezeigt.


Hier noch ein Beispiel, was ich eigentlich auch erreichen möchte:
http://www.fenaco.ch/deu/firmenmarken_845.aspx

Geändert von philippCH (31-08-2007 um 17:35 Uhr)
Mit Zitat antworten
  #8 (permalink)  
Alt 31-08-2007, 17:37
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.724
Kropff befindet sich auf einem aufstrebenden Ast
Standard

worked as designed. document.write schreib praktisch das dokument neu. such mal nach innerText und innerHTML

gruß
peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #9 (permalink)  
Alt 31-08-2007, 17:38
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Das würde nicht mehr passieren, wenn du den JS-Block mit der Funktion an der Stelle im Dokument hast, an der ursprünglich das document.write() stand. Denn genau dort wo document.write() ausgeführt wird, schreibt der Browser den Text auch hin. Wenn die Funktion vor dem Body steht, veranlasst das manche Browser, ein neues (Text-) Dokument zu erzeugen.

Aber die sauberste Lösung wäre etwa diese:

Code:
<script type="text/javascript">
/* 
hier die Funktion, aber statt document.write(Wert)
machst du document.getElementById('foo').innerHTML=Wert;
*/
</script>

<a href="" onclick="loadInfo('works'); return false;">Bar</a>

<div id="foo"></div>
Mit Zitat antworten
  #10 (permalink)  
Alt 31-08-2007, 17:46
philippCH
 Registrierter Benutzer
Links : Onlinestatus : philippCH ist offline
Registriert seit: Aug 2003
Beiträge: 161
philippCH ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Wieso nur habe ich befürchtet, dass es eigentlich so einfach wäre...

Funzt perfekt. Vielen Dank
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

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


PHP News

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

HeidiSQL - kostenloses MySQL front-end Editor für Windows ansehen HeidiSQL - kostenloses MySQL front-end Editor für Windows

HeidiSQL - ist ein Windows-Editor für die bekannt open Source Datenbank mySQL

10.12.2018 Berni | Kategorie: MYSQL/ Management
piwik Open-Source Webanalyse-Software ansehen piwik Open-Source Webanalyse-Software

piwik ist eine gute Alternative zu Google Analytics. Viele Features und ein modernes Erscheinungsbild mit aussagefähigen Statistiken in Echtzeit

10.12.2018 phpler | Kategorie: PHP/ Besucherzaehler
jQuery Mobile ansehen jQuery Mobile

Touch-Optimized Web Framework für Smartphones & Tablets

09.12.2018 phpler | Kategorie: AJAX/ Framework
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 13:01 Uhr.