PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr (https://www.php-resource.de/forum/)
-   Archiv / Trash (https://www.php-resource.de/forum/archiv-trash/)
-   -   Aufruf von Methode geht nicht (https://www.php-resource.de/forum/archiv-trash/99322-aufruf-von-methode-geht-nicht.html)

informatiker 19-04-2010 15:16

Aufruf von Methode geht nicht
 
Hallo,

ich habe eine PHP-datei. Da gibts einen Verweis:

PHP-Code:

echo '<div style="position:absolute; top:5px; left:600px;">';
echo 
'<a href="javascript:logout();">';
echo 
'<img src=".../out1.jpg" width="50" height="50"></a>';
echo 
'</div>'

und noch einen Verweis der die gleiche Funktion wie oben aufruft:

PHP-Code:

echo '<div style="position:absolute; top:100px; left:600px;">';
echo 
'<a href="#" onclick="logout()">';
echo 
'<img src=".../out1.jpg" width="50" height="50"></a>';
echo 
'</div>'

Keiner von beiden oben kann die logout() methode der in der javascript-datei ist aufrufen?
Warum, und wie kann ich es lösen?

Danke

Kropff 19-04-2010 15:19

Zitat:

und wie kann ich es lösen?
Indem du zum Beispiel die Fehlerkonsole vom Firefox benutzt. Oder direkt Firebug. Außerdem hilft uns der Code so nicht weiter.

Peter

informatiker 19-04-2010 15:27

Ich mache das mit Aptana Air Projekt. Deswegen kann ich kein Firebug benutzen.

Kropff 19-04-2010 15:41

Zitat:

Zitat von informatiker (Beitrag 638725)
Ich mache das mit Aptana Air Projekt. Deswegen kann ich kein Firebug benutzen.

Aber da wird es doch auch eine Fehlerkonsole geben. Außerdem muss da doch Quellcode erzeugt werden. Oder?

Peter

h3ll 19-04-2010 15:42

Aufruf von Funktion - Forum: phpforum.de

informatiker 19-04-2010 15:50

es liefert ja keinen fehler :)
es ruft die logout nicht auf.

AmicaNoctis 19-04-2010 16:50

Hallo,

zunächst einmal sind wir uns ja einig, dass es ein clientseitiges Problem ist. Daher ist der PHP-Code hier absolut unerwünscht. Mit welchen Werkzeugen und Frameworks du das auch immer machst, wird es doch sicher am Ende mal in irgendeinem Browser ausgeführt werden, oder?

Was spricht denn konkret dagegen, den generierten Quelltext aus einem deiner Entwicklungsschritte mal herauszunehmen, in eine HTML-Datei zu speichern und diese im Firefox zu debuggen?

Wenn das alles ganz, ganz anders ist, dann klär mich bitte auf, auf welchem System und welcher Art von User-Agent es bei dir ausgeführt werden soll.

Gruß,

Amica

informatiker 20-04-2010 11:25

so sieht der generierte html code aus, von den 2 buttons

HTML-Code:

<BODY>
    <DIV id="content" class="meineKlasse3">
          <DIV style="position:absolute; top:5px; left:600px;">
                <A href="javascript:logout();">  // diese zeile ist fett
                        <IMG  src=".../out1.jpg" width="50" height="50"/>
                </A>
          </DIV>
 
          <DIV style="position:absolute; top:100px;  left:600px;">
                <A href="#" onclick="logout()">
                        <IMG  src=".../out1.jpg" width="50" height="50"/>
                </A>
          </DIV>
            ...
            ...
    </DIV>
</BODY>


AmicaNoctis 20-04-2010 12:25

Wo ist die logout-Funktion? ;)

Wenn du XML-konform arbeiten möchtest und schon leere Elemente mit "/>" abschließt, solltest du davor jeweils ein Leerzeichen einbauen (" />") und alle Elementnamen und Attribute in Kleinbuchstaben notieren, was ich übrigens auch viel bequemer finde.

informatiker 20-04-2010 12:37

Zitat:

Zitat von AmicaNoctis (Beitrag 638759)
Wo ist die logout-Funktion? ;)

Wenn du XML-konform arbeiten möchtest und schon leere Elemente mit "/>" abschließt, solltest du davor jeweils ein Leerzeichen einbauen (" />") und alle Elementnamen und Attribute in Kleinbuchstaben notieren, was ich übrigens auch viel bequemer finde.

ach die logout ist hier:

javascript-datei:

PHP-Code:

function submit_t(){
    $.
post(".../LoginProzedur.php", {
        
username: $("#name").val(),
        
password: $("#pass").val(),
        
login'true'
    
}, function(data){
        $(
'#content').html(data);
        if (
data != 'false') {
            
setTimeout(load_php(),  30000);
        }
        
//alert("Willkommen");
    
});
}

function 
logout(){
    
alert(' ');
    $.
post(".../Ausloggen.php", {
        
//logout: 'true'
    
}, function(data){
        $(
'#content').html(data);
    });
}

function 
load_php(){
    $.
post(".../Status.php", {    
  }, function(
data){
        $(
'#content').html(data);
        
setInterval(load_php(), 30000);
    });
}

$(
document).ready(function(){

    $(
":reset").css({
        
background'red',
        
color'yellow'
    
});
    $(
":submit").css({
        
background'green',
        
color'white'
    
});
    $(
":text").css({
        
background'blue',
        
color'yellow'
    
});
    $(
":password").css({
        
background'blue',
        
color'yellow'
    
});
    
    $(
"form :checkbox:first").parent().append('ja');
    $(
"form :checkbox:last").parent().append('ja');
    $(
"#a").addClass("meineKlasse1");
    $(
"#b").addClass("meineKlasse1");
    $(
"#c").addClass("meineKlasse2");
    $(
"#d").addClass("meineKlasse2");      
}); 


AmicaNoctis 20-04-2010 12:45

Okay und die wird sicherlich auch im Kopfbereich des HTML-Dokuments eingebunden, ja?

Funktioniert es denn, wenn du das CSS komplett deaktivierst? (FF: Ansicht ⇒ Webseiten-Stil ⇒ Kein Stil / IE: Ansicht ⇒ Format ⇒ Kein Format)

Wenn es dann geht, hast du dir mit der absoluten Positionierung sozusagen eine Glasscheibe über den Link gelegt, durch die man nicht durchdrücken kann.

informatiker 20-04-2010 12:49

ja ich habe es in der html datei eingebunden:
Code:

<script type="text/javascript" src="funktionen.js">
        </script>

Wenns der fall ist den du beschrieben hast, wie lös ich den?

AmicaNoctis 20-04-2010 12:56

Zitat:

Zitat von informatiker (Beitrag 638763)
Wenns der fall ist den du beschrieben hast, wie lös ich den?

Du achtest einfach darauf, dass es kein absolut positioniertes Element gibt, dessen bounding box irgendein Interaktionselement überdeckt. Auch hier nochmal der gutgemeinte Rat, es doch einfach mal im Firefox mit Firebug zu debuggen!!! Da kannst du dir farblich hervorheben lassen, welches Element beim Hovern gerade unter dem Mauszeiger liegt und siehst sofort, ob es evtl. das falsche ist.

informatiker 20-04-2010 13:17

ne, es liegt kein element übereinander. habs schon mit firebug von adobe air getestet.

AmicaNoctis 20-04-2010 13:36

Wenn du Firebug benutzt, solltest du dem Fehler damit aber auf die Schliche kommen. Hast du evtl. ein Onlinebeispiel, damit man sich das selbst mal ansehen kann?


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:34 Uhr.

Powered by vBulletin® Version 3.8.2 (Deutsch)
Copyright ©2000 - 2019, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.3.0
[c] ebiz-consult GmbH & Co. KG