php.de

Zurück   php.de > Webentwicklung > JavaScript, Ajax und mehr

JavaScript, Ajax und mehr dynamisches Scripten und Interaktion auf Clientebene

Antwort
 
LinkBack Themen-Optionen Thema bewerten
Alt 17.12.2010, 10:37  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard [Erledigt] mit DOM Manipulation gültiges XHTML erstellen

Hallo Leute,

eigentlich steht meine Frage anliegen ja schon im Titel. Wie kann ich wenn ich mit DOM Manipulation ein HTML Dokument erweitere gültige XHTML Elemente erstellen?

Mein bisheriger Code funktioniert, aber erstellt kein gütliges XHTML.

Hier mein Code.

Code:
<html>
<head>

    <script type="text/javascript">
        
        var a = function (){
            
            document.body.removeChild( document.body.firstChild.nextSibling );
        }
        
        window.onload = a;
        
        var newUploadField = function ( idForm ) {
            
            var newField = document.createElement( "input" );
            var newBr = document.createElement( "br" );
            var attributName = document.createAttribute( "name" );
            var attributType = document.createAttribute( "type" );
            attributName.nodeValue = "img[]";
            attributType.nodeValue = "file";
            newField.setAttributeNode( attributName );
            newField.setAttributeNode( attributType );
            
            document.getElementById( idForm ).appendChild( newBr );
            document.getElementById( idForm ).appendChild( newField );
        }
        
    </script>

</head>
<body>
    <p>
        Javascript ist nicht aktiviert
    </p>
    <div>
        <form id="post_artikel" action="" method="post">
            <div id="uploadFields">
                <input type="file" name="img[]">
            </div>
        </form>
    </div>
    <p>
        <span><a href="#" onclick="newUploadField('uploadFields')">Neues Uploadfeld hinzufügen</a></span>
    </p>
</body>
</html>
Das ist alles nur zur Übung.

Wenn ich das so schreiben will,

Code:
var newBr = document.createElement( "br /" );
dann bekomme ich in der Fehlerkonsole folgende Fehlermeldung.

Zitat:
Fehler: uncaught exception: [Exception... "String contains an invalid character" code: "5" nsresult: "0x80530005 (NS_ERROR_DOM_INVALID_CHARACTER_ERR)" location: "http://localhost/Parkatikum_Sedna_Soft/Javascript_Uebungen/erste_uebungen.html# Line: 16"]
ich denke mein Problem habe ich klar beschrieben, oder hoffe ich zumindest. Meine Frage steht ja eigentlich auch schon hier dirn, wie bekomme ich mit der DOM Manipulation gültigen XHTML Code hin?

Danke für eure Zeit und Hilfe.

Gruß Litter
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline   Mit Zitat antworten
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 17.12.2010, 11:40  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.266
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

document.createElement( "<br/>" );

Alles was du ins DOM über die DOM-Funktionen hinzufügst ist bereits gültig.
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline   Mit Zitat antworten
Alt 17.12.2010, 12:41  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Zitat:
Zitat von Chriz Beitrag anzeigen
document.createElement( "<br/>" );

Alles was du ins DOM über die DOM-Funktionen hinzufügst ist bereits gültig.
Nein das geht eben auch nicht, folgende Exception wird in der Fehlerkonsole geworfen.

Zitat:
Fehler: uncaught exception: [Exception... "String contains an invalid character" code: "5" nsresult: "0x80530005 (NS_ERROR_DOM_INVALID_CHARACTER_ERR)" location: "http://localhost/Parkatikum_Sedna_Soft/Javascript_Uebungen/erste_uebungen.html# Line: 15"]
Und so ist der Code.

Code:
var newUploadField = function ( idForm ) {
            
            var newBr = document.createElement( "<br/>" );
            var newField = document.createElement( "input" );
            var attributType = document.createAttribute( "type" );
            attributType.nodeValue = "file";
            newField.setAttributeNode( attributType );
            var attributName = document.createAttribute( "name" );
            attributName.nodeValue = "img[]";
            newField.setAttributeNode( attributName );
            
            document.getElementById( idForm ).appendChild( newBr );
            document.getElementById( idForm ).appendChild( newField );
        }
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline   Mit Zitat antworten
Alt 17.12.2010, 13:59  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

Zitat:
Zitat von litterauspirna Beitrag anzeigen
var newField = document.createElement( "input" );
Hier übergibst du als Parameter den Namen des Elements, das du erzeugen willst.

Zitat:
Wenn ich das so schreiben will,
Code:
var newBr = document.createElement( "br /" );
dann bekomme ich in der Fehlerkonsole folgende Fehlermeldung.
Wieso kriegst du es hier nicht mehr gebacken, einfach nur den Elementnamen als Parameter zu verwenden ...?

Zitat:
Meine Frage steht ja eigentlich auch schon hier dirn, wie bekomme ich mit der DOM Manipulation gültigen XHTML Code hin?
Mach dir klar, dass das DOM etwas ganz anderes ist, als in Code-Form geschriebenes HTML.
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 17.12.2010, 14:04  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

ChrisB, danke nun ist mir das selber auch klar geworden. Da das was ich ja da hinzufügen kann mit dem DOM nie im Hardcoding steht kann das auch kein wirklich unsauberes XHTML darstellen, denn es wird ja so nicht in die HTML Datei an sich geschrieben.

Danke für den Anstoß.

Gruß Litter
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline   Mit Zitat antworten
Alt 17.12.2010, 14:09  
Moderator
 
Benutzerbild von Chriz
 
Registriert seit: 11.05.2008
Beiträge: 6.266
Chriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer AnblickChriz ist ein wunderbarer Anblick
Standard

Äh quatsch, war gedanklich bei jQuery.
__________________
"Nuschel ich?" - "Was?"
Chriz ist offline   Mit Zitat antworten
Alt 17.12.2010, 15:09  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

Meines Wissens passiert das je nach Konfiguration des DOMDocument Objektes automatisch. Sieh auch: http://de.php.net/manual/en/domdocum...exml.php#95252 , http://de.php.net/manual/en/libxml.constants.php
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Alt 17.12.2010, 15:15  
Moderator¹
 
Registriert seit: 28.03.2010
Beiträge: 7.470
PHP-Kenntnisse:
Fortgeschritten
ChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer AnblickChrisB ist ein wunderbarer Anblick
Standard

@nikosch: Wir reden hier über clientseitige DOM-Manipulation per JavaScript
__________________
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
ChrisB ist offline   Mit Zitat antworten
Alt 17.12.2010, 15:17  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

OmG, geistige Umnachtung befällt mich. Thema verfehlt, 6, setzen
__________________
--
One pixel is still too big. Please make it smaller. ASAP.

Initiative Mittelstand.
Die wichtigste Gestaltungsregel im Screendesign ist Pi mal Daumen des Arbeitgebers.
--
nikosch ist offline   Mit Zitat antworten
Antwort


Themen-Optionen
Thema bewerten
Thema bewerten:

Forumregeln
Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine 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
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[Erledigt] Mysql - Query dynamisch erstellen - String zusammenfügen zoom PHP Tipps 2010 12 19.10.2010 13:50
Suche Freelancer (XHTML / JQuery / PHP) rent-a-coder Gewerblich 0 26.04.2010 19:07
[Erledigt] XHTML &amp; image maps &lt;&gt; Opera Frank JavaScript, Ajax und mehr 1 21.03.2010 01:58
Websiteteile vom User erstellen lassen magni PHP Tipps 2009 4 15.12.2009 11:17
Kleinen PHP Script "Bannerrotation" aus MySQL-Datenbank erstellen... ispvip PHP Tipps 2009 2 03.11.2009 09:01
PHP Ordner erstellen mit bestimmten Namen matzee PHP Tipps 2009 13 04.09.2009 11:45
[Erledigt] jpeg erstellen aus textstring erstellen Psydl PHP Tipps 2009 16 07.07.2009 18:54
[Erledigt] foreach schleife beim erstellen einer image_map schlägt fehl litterauspirna PHP Tipps 2009 8 25.05.2009 13:04
(X)HTML 5 und Semantik? tesim HTML, Usability und Barrierefreiheit 11 01.05.2009 23:35
[Erledigt] XHTML nicht valide ?! drsoong HTML, Usability und Barrierefreiheit 9 29.11.2008 21:11
darf keine Datenbank erstellen in phpMyAdmin Datenbanken 2 20.10.2005 19:32
Icons für Pocket-Pcs erstellen? Locutus007 Off-Topic Diskussionen 0 19.08.2005 14:38
Stammbaum erstellen Riot PHP Tipps 2005 17 13.05.2005 16:32
Ordner erstellen und Datei uploaden Juuro PHP Tipps 2005 6 20.01.2005 21:18
Ordner per Skript erstellen --> Rechte Problem PHP Tipps 2004 2 06.07.2004 14:19

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
dom xhtml, php dom xhtml, dom manipulation php, php dom manipulation, fehler: uncaught exception: [exception... \string contains an invalid character\ code: \5\ nsresult: \0x80530005 (ns_error_dom_invalid_character_err)\, php xhtml dom, createelement(\'input\') xhtml, php domdocument valid xhtml, php xhtml document erzeugen, dom manipulation mit php, php dom manipulaton, manipulation erstellen, quelltext nach dom manipulation sehen, php domdocument manipulieren, xhtml dom php, dom manipulation with php, skript zum erstellen von xhtml code, dom hinzufügen, xhtml document mit php erzeugen, xhtml javascript

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




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum