- Ad -
php-resource



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

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 

 


HTML, JavaScript, AJAX und CSS Probleme mit HTML? Netscape oder IE funktionieren nicht so, wie sie sollen? Stellt eure HTML-Fragen hier im Forum und diskutiert eure Probleme mit anderen Entwicklern.

Antwort
 
LinkBack Themen-Optionen Thema bewerten
  #1 (permalink)  
Alt 08-08-2006, 17:23
flughund
 Newbie
Links : Onlinestatus : flughund ist offline
Registriert seit: Aug 2006
Beiträge: 4
flughund ist zur Zeit noch ein unbeschriebenes Blatt
Standard Element über DOM per Java Script in einem Hidden-DIV ansprechen

Lustiger Titel, was? ;-)

Ich bin ein nicht wirklich guter Programmierer. Java Script und DOM-Manipulationen lerne ich erst.

Ich habe nun folgendes Problem, bei dem ich eure Hilfe brauche:

Es wird eine Seite per PHP angezeigt. Darin befinden sich verschiedene DIVs (mit ID's). Eines dieser DIV's muss am Anfang auf "hidden" sein (lege ich im CSS-File fest). Bei "onload" wird dieses DIV auf "visible" gesetzt und ajaxmässig per Javascript ein PHP Script angesprochen, welches HTML-Code zurückgibt, welcher das Javascript dann wieder in eben diesem DIV anzeigt.

Hier das CSS des DIVs:

Code:
#hiddenDIV {
	clear: both;
	float: left;
	visibility:hidden; 
	background-color: silver; 
	height: 283px;
	\height: 300px;
	h\eight: 283px;
	width: 100%;
	border: 0px;
	margin: 0px;
	padding: 0px;
	overflow: scroll;
}
So. Jetzt habe ich das Problem, dass mir dieser HTML-Teil, welche in das DIV per JS geladen wird, gar nicht als Quellcode erscheint. D.h. ich kann die Dokument Objekte in diesem DIV auch nicht ansprechen, oder? Zumindest gehts nicht.

Mit "this.bgColor" oder so funktionieren JavaScript-Manipulationen. Nicht aber wenn ich eine Funktion im z.B. Head-Bereich aufrufen will.

Was ich eigentlich ganz am Ende will, ist, eine Zeile einer Tabelle (siehe Anhang) per onCLick auszuwählen und diese Zeile entsprechend zu higlighten. Also dass der Zustand auch bei MouseOut so bleibt.

Frage: muss ich das DIV im Objekt-Pfad mitangeben, wenn ja, wie?
Oder kapiert man meine Überlegungen gar nicht?

Wäre cool, wenn mir jemand einen Tipp hätte... :-)
Angehängte Grafiken
Dateityp: png bild 1.png (44,5 KB, 64x aufgerufen)

Geändert von flughund (09-08-2006 um 10:43 Uhr)
Mit Zitat antworten
  #2 (permalink)  
Alt 08-08-2006, 17:39
jmc
 PHP Junior
Links : Onlinestatus : jmc ist offline
Registriert seit: Mar 2006
Beiträge: 868
jmc befindet sich auf einem aufstrebenden Ast
Standard

ein bisschen mehr Code wäre nützlich
Mit Zitat antworten
  #3 (permalink)  
Alt 08-08-2006, 17:53
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.283
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Also gemäss Selfhtml solltest du \ nicht vor Buchstaben a-f setzen
Zitat:
Manual
Setzen Sie das Escape-Zeichen \ an eine beliebige Stelle innerhalb der Eigenschaft, jedoch nicht direkt vor einen der Buchstaben a bis f, da dieser sonst als hexadezimaler Wert interpretiert werden würde.
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
  #4 (permalink)  
Alt 08-08-2006, 17:58
flughund
 Newbie
Links : Onlinestatus : flughund ist offline
Registriert seit: Aug 2006
Beiträge: 4
flughund ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Das CSS-Teil ist nicht so wichtig, die /-Geschichten sind lediglich Hacks, welche nix mit dem Problem zu tun haben.

Hier die Website (achtung, extreme BETA!):

http://www.miniguide.ch
Mit Zitat antworten
  #5 (permalink)  
Alt 08-08-2006, 18:08
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.283
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

document.getElementById('id_aus_html').style.visibility = 'hidden';
geht nicht ? Normalerweise kannst du über document.getElementById() alle Elemente im HTML Quellcode ansprechen und damit dann entsprechendes Zeugs anstellen.

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
  #6 (permalink)  
Alt 08-08-2006, 21:16
jmc
 PHP Junior
Links : Onlinestatus : jmc ist offline
Registriert seit: Mar 2006
Beiträge: 868
jmc befindet sich auf einem aufstrebenden Ast
Standard

Hast du eine Javascript-Konsole?

Wenn ja, dann verbessere mal die dort angegebenen Fehler.
Mit Zitat antworten
  #7 (permalink)  
Alt 09-08-2006, 10:35
flughund
 Newbie
Links : Onlinestatus : flughund ist offline
Registriert seit: Aug 2006
Beiträge: 4
flughund ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Vielen Dank für eure Antworten. Ich habe mal soweit es gieng die Fehler beseitigt.
Das Problem bleibt.

Nun, da ich scheinbar die Objekte nicht über das DOM ansprechen kann, gebe ich einfach das Objekt beim Aufruf der JS-Funktion mit. So könnte es klappen. Habe mal ein JavaScript geschrieben/ergänzt:

PHP-Code:
function chcol(nama) { 
if (
nama.style.backgroundColor != 'red'){
    if(
nama.id=='alt1') { nama.style.backgroundColor 'yellow'
    else if (
nama.id=='alt2') { nama.style.backgroundColor 'green'
}
return 
true
}

function 
retcol(nama) { 
if (
nama.style.backgroundColor != 'red'){
    if(
nama.id=='alt1') { nama.style.backgroundColor '#F0F0F0'
    else if (
nama.id=='alt2') { nama.style.backgroundColor '#FFF'}
}
return 
true
}

function 
clickcol(nama) {
if (
nama.style.backgroundColor != 'red'){
    var 
lastclicked document.getElementById('colselect').value;
//    alert (lastclicked);
    
if ((document.getElementById('colselect').value) != '0'){    
        
lastclicked.style.backgroundColor '#F0F0F0';
//        alert ('letzter gewechselt!');
    
}
    
nama.style.backgroundColor 'red';
    
document.getElementById('colselect').value nama;
}
return 
true


Zusätzlich habe ich im HTML-Body ein Hidden-Field, indem ich den Wert speichere:

PHP-Code:
<input type="hidden" id="colselect" value="0"


Die Funktionen werden wie folgt aufgerufen:

PHP-Code:
<label id "$altclass" onClick="clickcol(this);
document.getElementById('radio$row_count').checked = true; 
makeactive(1,$agent_event_id);" 
onMouseOver="chcol(this)" 
onMouseOut="retcol(this)">
Inhalt des Objektes
</label


Da ich JavaScript nur kläglich beherrsche und das Script nur von mir ergänzt wurde (Original nicht von mir), könnt Ihr mir vielleicht weiterhelfen?

Ich bekomme von der JavaScript-Konsole die Meldung:

Zitat:
Fehler: lastclicked.style has no properties
Quelldatei: http://www.miniguide.ch/js/tabselect.js
Zeile: 22


Sieht jemand den Fehler? :-|

Geändert von flughund (09-08-2006 um 10:40 Uhr)
Mit Zitat antworten
  #8 (permalink)  
Alt 09-08-2006, 13:34
jmc
 PHP Junior
Links : Onlinestatus : jmc ist offline
Registriert seit: Mar 2006
Beiträge: 868
jmc befindet sich auf einem aufstrebenden Ast
Standard

Das ist von dir:
var lastclicked = document.getElementById('colselect').value;
lastclicked.style.backgroundColor = '#F0F0F0';

Das würde ja bedeuten das du das schreibst:
document.getElementById('colselect').value.style.backgroundColor = '#F0F0F0';
Mit Zitat antworten
  #9 (permalink)  
Alt 09-08-2006, 13:51
flughund
 Newbie
Links : Onlinestatus : flughund ist offline
Registriert seit: Aug 2006
Beiträge: 4
flughund ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Vielen Dank. Wie das so ist, habe ich selber das Script nun entsprechend geschrieben. Als Dankeschön poste ichs hier rein:

PHP-Code:
/********************************************************************************************/
/* Table-Higlight functions by frühjahr, [url]http://www.fruehjahr.ch[/url]                            */
/* Based on the script of Moby_Dim, Ukraine (seen at the forum @ [url]www.webmasterworld.com[/url]     */
/* You may use these functions as you wish, for commercial or non-commercial applications,  */
/* but please note that the author offers no guarantees to their usefulness, suitability or */
/* correctness, and accepts no liability for any losses caused by their use.                */
/********************************************************************************************/


// Use it in your source code like this: <tr id=$altclass" class="$altclass" onClick="clickcol(this)" onMouseOver="chcol(this)" onMouseOut="retcol(this)">         //
// you have to define .alt1 and .alt2 in you CSS-File. Also alternate the class and the ID of the row (I did that on the flow with PHP)                            //

// -------------- Farben definieren ----------------------------------------------//
const alt1_bg         =         "#F0F0F0";
const 
alt2_bg         =         "#FFFFFF";
const 
hover1_bg     =         "yellow";
const 
hover2_bg     =         "green";
const 
highlight     =         "#3D80DF";
const 
stdtext         =         "black";
const 
hightext         =        "white";

const 
hovering         =        "on";                            // MouseOver einschalten = 'on', sonst leerlassen



function chcol(nama) {                                         // Mousover-Funktion...
    
if (hovering == "on"){
        if (
nama.style.backgroundColor != highlight){
            if(
nama.id=='alt1') {nama.style.backgroundColor hover1_bg}
            else {
nama.style.backgroundColor hover2_bg}
            }
        return 
true
    }
}

function 
retcol(nama) {                                     // MouseOut-Funktion zum wiederherstellen des Hintergrundes
    
if (hovering == "on"){
        if (
nama.style.backgroundColor != highlight){
            if(
nama.id=='alt1') { nama.style.backgroundColor alt1_bg
            else { 
nama.style.backgroundColor alt2_bg }
            }
        return 
true
    }
}

function 
clickcol(nama) {
        var 
tabelle nama.parentNode.parentNode;            // ermittle von 'nama' aus relativ die Tabelle
        
var rows tabelle.getElementsByTagName('tr');        // speichere alle darin enthaltenen Zeilen
        
var allcells tabelle.getElementsByTagName('td');    // speichere alle darin enthaltenen <td>'s
        
var zellen nama.getElementsByTagName("td");        // ermittle alle <td>'s in der selektierten Zeile
        
        
var alternieren "1";                                // Startwert zum die alternierenden Hintergründe wiederherstellen
        
for (var 0rows.lengthi++) {                // ermittle Anzahl Reihen
            
            
if (alternieren == "1"){                        // Schalter für den alternierenden Hintergrund
                 
rows[i].style.backgroundColor alt1_bg;    // Setze den Hintergrund auf den Farbwert
                
var alternieren "0";                        // Alternator umschalten
            
}
            else {                                            
// Schalter für den alternierenden Hintergrund
                
rows[i].style.backgroundColor alt2_bg;        // andere Farbe der Alternation
                
var alternieren "1";                        // Alternator umschalten
            
}
        }

        for (var 
0allcells.lengthv++) {            // ermittle Gesamtzahl aller <td>'s in der gesamten Tabelle
          
allcells[v].style.color stdtext;                // setze die Standardfarbe für den Text zurück
        
}                                                    

        for (var 
0zellen.lengthi++) {            // ermittle die Gesamtzahl der <td>'s in der selektierten Reihe
          
zellen[i].style.color hightext;                    // setze die Textfarbe auf die selektierte Farbe
        
}
        
nama.style.backgroundColor highlight;                // setze die Hintergrundfarbe der selektierten Zeile auf aktiviert
    
return true
}
//+-+-+-+-+-+-+-+-+-+-+-+-+ Ende highlight +-+-+-+-+-+-+-+-+-+-+-+-+// 
Vielleicht kann das ja jemand gebrauchen... ;-)
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

MariaDB 5.5 veröffentlicht
MariaDB 5.5 veröffentlichtDie freie MySQL-Alternative MariaDB wurde in der stabilen Version 5.5.23 veröffentlicht und soll einige Verbesserungen gegenüber Oracles Communityversion von MySQL mitbringen.

16.04.2012 | Berni

Deutsche Yii Framework Community
Deutsche Yii Framework CommunitySeit dem 19.03.2012 gibt es für die Yii PHP Framework Community ein deutsches Zuhause.

20.03.2012 | dhcomputer

 

Aktuelle PHP Scripte

BROM CMS/BelCal 3 ansehen BROM CMS/BelCal 3

Spezielles CMS für Betreiber von Ferienwohnungen. Komplette Seitenerstellung online, Verwaltung mehrerer Objekte, Reservierungssystem mit sofortigem Abgleich im Belegungskalender und vieles mehr bietet dieses Content Management System.

25.05.2012 belcal2 | Kategorie: PHP/ CMS
belbit LiveSupport Script ansehen belbit LiveSupport Script

Schnellen und unkomplizierten Support im LiveSupport-Chat anbieten. Ohne Datenbank und in wenigen Sekunden installiert.

24.05.2012 EichbaumMedia | Kategorie: PHP/ Chat
belbit Ticketcenter-Script ansehen belbit Ticketcenter-Script

Verwalten Sie Supportanfragen zuverlässig im Web2.0-Stil anstatt per E-Mail - inkl. Überprüfung, ob Antworten gelesen wurden und mehr.

24.05.2012 EichbaumMedia | Kategorie: PHP/ Ticketsystem
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 10:16 Uhr.