php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 09-09-2008, 10:07
Lavingstar
 Member
Links : Onlinestatus : Lavingstar ist offline
Registriert seit: Oct 2004
Beiträge: 212
Lavingstar ist zur Zeit noch ein unbeschriebenes Blatt
Standard Fehler in der Anzeige

Hallo,
ich habe eine Tabelle mit Mouseover erstellt und sobald ich eine Zeile auswähle bzw. mit der Maus drüber fahre erscheint über der Tabelle ein blauer Balken.
Dieser blaue Balken ist im Prinzip nichts anderes als der gleiche Eintrag nochmal aber ohne CONTENT. (Siehe anhgehängtes Screen).

Kann mir jemand sagen wie sowas passieren kann? Hier mal ein kleiner Ausschnitt aus dem Code, der an dieser Stelle zum Tragen kommt:

PHP-Code:
$dformid "detail_form_$id";
echo 
"<form name='$dformid' method='get' action='index.php'>";
    echo 
'<input type="hidden" name="seite" value="detail">
    <tr bgcolor="#FFFFFF"; onMouseOver=this.style.backgroundColor="#48B6FF" this.style.cursor="hand";
            onMouseOut=this.style.backgroundColor="#FFFFFF" onclick="document.'
.$dformid.'.submit()">
        <input type="hidden" name="id" value="'
.$row["lfd_nr"].'">
        <td class="w40">'
.$id.'</td>
        <td class="w60">'
.$row2["0"]. '</td>
        <td class="w60">'
.$row["kat"].'</td>
        ...........
    </tr>
    '
;
echo 
"</form>";

}
echo 
'</table>'
Mit Zitat antworten
  #2 (permalink)  
Alt 09-09-2008, 10:08
Lavingstar
 Member
Links : Onlinestatus : Lavingstar ist offline
Registriert seit: Oct 2004
Beiträge: 212
Lavingstar ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Und hier noch der dazugehörige Screen:
Angehängte Grafiken
Dateityp: jpg fehler.jpg (72,6 KB, 126x aufgerufen)
Mit Zitat antworten
  #3 (permalink)  
Alt 09-09-2008, 11:24
mcmurphy
 PHP Junior
Links : Onlinestatus : mcmurphy ist offline
Registriert seit: Aug 2003
Ort: Berlin
Beiträge: 890
mcmurphy zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Zitat:
Kann mir jemand sagen wie sowas passieren kann?
zb. leerer Datensatz?
Da scheint ja auch irgendwo eine for-Schleife zu sein - und was mich stutzig macht ist auch die Struktur hier:

<form
<input
<tr

sieht ja so aus als würde ein Formular mitten in einer Tabelle hängen - nicht gerade die feine englische Art....

Sind aber 2 Schüsse ins blaue....
__________________
"I don't want to belong to any club that would accept me as a member."

Groucho Marx
Mit Zitat antworten
  #4 (permalink)  
Alt 09-09-2008, 12:05
alex2iceman
 Registrierter Benutzer
Links : Onlinestatus : alex2iceman ist offline
Registriert seit: May 2007
Beiträge: 120
alex2iceman ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich finde die Deklaration in dem tr-Tag sehr ungewöhnlich:
PHP-Code:
<tr bgcolor="#FFFFFF"onMouseOver=this.style.backgroundColor="#48B6FF" this.style.cursor="hand";             onMouseOut=this.style.backgroundColor="#FFFFFF" onclick="document.'.$dformid.'.submit()"

Bei onMouseOver muss der folgende Ausdruck in Anführungszeichen stehen, da "this.style.cursor="hand";" für sich allein steht. Genau so bei onMouseOut.

Der Fehler entsteht, weil bestimmte Teile nicht Tabellenkonform sind und daher außerhalb der Tabelle angezeigt werden. Prüfe deine Syntax, das könnte daran liegen.

Verbesserungsvorschlag ungetestet (einfache Anführungszeichen im String maskieren natürlich):

PHP-Code:
$dformid "detail_form_$id";
echo 
"<form name='$dformid' method='get' action='index.php'>";
    echo 
'<input type="hidden" name="seite" value="detail">
    <tr bgcolor="#FFFFFF" onMouseOver='
this.style.backgroundColor="#48B6FF"this.style.cursor="hand";'
            onMouseOut='
this.style.backgroundColor="#FFFFFF"' onclick="document.'.$dformid.'.submit()">
        <input type="hidden" name="id" value="'
.$row["lfd_nr"].'">
        <td class="w40">'
.$id.'</td>
        <td class="w60">'
.$row2["0"]. '</td>
        <td class="w60">'
.$row["kat"].'</td>
        ...........
    </tr>
    '
;
echo 
"</form>";

}
echo 
'</table>'
Mit Zitat antworten
  #5 (permalink)  
Alt 09-09-2008, 12:25
Lavingstar
 Member
Links : Onlinestatus : Lavingstar ist offline
Registriert seit: Oct 2004
Beiträge: 212
Lavingstar ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von alex2iceman
Verbesserungsvorschlag ungetestet (einfache Anführungszeichen im String maskieren natürlich) ....
Vielen Dank für Eure Vorschläge. Ich habe o.g. Vorschlag mal umgesetzt (zusätzliche einfach Anführungsstriche mit \' gemacht).

Jetzt wird die Tabelle zwar etwas "richtiger" angezeigt - allerdings ohne Mousover-Effekt.

Codeschnipsel meiner Änderung:

PHP-Code:
    echo '<input type="hidden" name="seite" value="detail">
    <tr bgcolor="#FFFFFF"; onMouseOver=\'this.style.backgroundColor="#48B6FF" this.style.cursor="hand";\'
            onMouseOut=\'this.style.backgroundColor="#FFFFFF"\' onclick="document.'
.$dformid..submit()"> 
Mit Zitat antworten
  #6 (permalink)  
Alt 09-09-2008, 12:29
Lavingstar
 Member
Links : Onlinestatus : Lavingstar ist offline
Registriert seit: Oct 2004
Beiträge: 212
Lavingstar ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ohje - ich sehe gerade dass mein Backslash ' Kombination nicht angezeigt wird ... daher hier noch ein Screenie von dem Code :-)
Angehängte Grafiken
Dateityp: jpg fehler2.jpg (77,7 KB, 108x aufgerufen)
Mit Zitat antworten
  #7 (permalink)  
Alt 09-09-2008, 12:37
mcmurphy
 PHP Junior
Links : Onlinestatus : mcmurphy ist offline
Registriert seit: Aug 2003
Ort: Berlin
Beiträge: 890
mcmurphy zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

ich würde die onmouse befehle ja in funktionen packen, fände ich übersichtlicher .....
__________________
"I don't want to belong to any club that would accept me as a member."

Groucho Marx

Geändert von mcmurphy (09-09-2008 um 13:24 Uhr)
Mit Zitat antworten
  #8 (permalink)  
Alt 09-09-2008, 13:14
Lavingstar
 Member
Links : Onlinestatus : Lavingstar ist offline
Registriert seit: Oct 2004
Beiträge: 212
Lavingstar ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von mcmurphy
ich würde die onmouse befehle ja in ein funktionen packen, fände ich übersichtlicher .....
So in etwa?

var onmouse= new Function("onMouse",
onMouseOver='this.style.backgroundColor="#48B6FF";
this.style.cursor="hand";'
onMouseOut='this.style.backgroundColor="#FFFFFF" ');
Mit Zitat antworten
  #9 (permalink)  
Alt 09-09-2008, 13:19
alex2iceman
 Registrierter Benutzer
Links : Onlinestatus : alex2iceman ist offline
Registriert seit: May 2007
Beiträge: 120
alex2iceman ist zur Zeit noch ein unbeschriebenes Blatt
Standard

erstens fehlt dort ein Semikolon:
PHP-Code:
onMouseOver='this.style.backgroundColor="#48B6FF";this.style.cursor="hand";' 
Mit der Funktion ist das so gemeint:

irgendwo im Header oder einfach ganz oben innerhalb eines Script-Tags:

function ModZeile(zeile){
zeile.style.backgroundColor="#48B6FF";
zeile.style.cursor="hand";
}

dann innerhalb der Zeile:

PHP-Code:
onMouseOver='ModZeile(this)' 
natürlich ungetestet aber sollte gehen
Mit Zitat antworten
  #10 (permalink)  
Alt 09-09-2008, 13:20
mcmurphy
 PHP Junior
Links : Onlinestatus : mcmurphy ist offline
Registriert seit: Aug 2003
Ort: Berlin
Beiträge: 890
mcmurphy zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

onMouseOver='this.style.backgroundColor="#48B6FF" this.style.cursor="hand";'

=>
function foo(obj){
obj.style.backgroundColor="#48B6FF";
obj.style.cursor="hand";
}


onMouseOver="foo(this);"

aber nicht getestet....

@icemann:
rasant, rasant....
__________________
"I don't want to belong to any club that would accept me as a member."

Groucho Marx
Mit Zitat antworten
  #11 (permalink)  
Alt 09-09-2008, 13:22
alex2iceman
 Registrierter Benutzer
Links : Onlinestatus : alex2iceman ist offline
Registriert seit: May 2007
Beiträge: 120
alex2iceman ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Übrigens hätte dir ein JS-Debugger den Fehler mit dem Semikolon angezeigt. Schaue in die Fehlerkonsole vom Firefox.
Mit Zitat antworten
  #12 (permalink)  
Alt 09-09-2008, 13:25
Lavingstar
 Member
Links : Onlinestatus : Lavingstar ist offline
Registriert seit: Oct 2004
Beiträge: 212
Lavingstar ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Also sobald ich die ' um die onmouse-Stellen mache zeigt er gar keine Seite mehr an. Änder ich dann das ' in Backslash' wirds wieder genauso angezeigt wie vorher ohne die ' ...
Mit Zitat antworten
  #13 (permalink)  
Alt 09-09-2008, 13:26
Lavingstar
 Member
Links : Onlinestatus : Lavingstar ist offline
Registriert seit: Oct 2004
Beiträge: 212
Lavingstar ist zur Zeit noch ein unbeschriebenes Blatt
Standard

PS: Hier auf der Arbeit kann ich NUR IE benutzen, andere Browser funzen leider nicht :-(
Mit Zitat antworten
  #14 (permalink)  
Alt 09-09-2008, 13:29
Anbu
 Registrierter Benutzer
Links : Onlinestatus : Anbu ist offline
Registriert seit: Dec 2006
Beiträge: 505
Anbu zeigte ein beschämendes Verhalten in der Vergangenheit
Standard

Zitat:
Original geschrieben von Lavingstar
So in etwa?

var onmouse= new Function("onMouse",
onMouseOver='this.style.backgroundColor="#48B6FF";
this.style.cursor="hand";'
onMouseOut='this.style.backgroundColor="#FFFFFF" ');
Nein in etwa so..

Code:
function chstyle(par) {
	var id = par;
	document.getElementById(id).style.backgroundColor = "#FFFFFF";
	document.getElementById(id).style.cursor="hand";
}

Die Funktion packst du dann in ne JS-Datei und bindest sie auf der Seite ein.

dann brauchst im HTML-Teil nur noch die Funktion aufrufen

[Code]
<tr bgcolor="#FFFFFF" id="1" onMouseOver="chstyle(1);">
[Code]
__________________
Lurchi ! Lurchi ! Lurchi !
Mit Zitat antworten
  #15 (permalink)  
Alt 09-09-2008, 13:30
Lavingstar
 Member
Links : Onlinestatus : Lavingstar ist offline
Registriert seit: Oct 2004
Beiträge: 212
Lavingstar ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke euch allen schonmal für die Function-Codes !! :-)
Werd ich gleich ma austesten ...
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

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

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 18:32 Uhr.