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 Bewertung: Bewertung: 2 Stimmen, 5,00 durchschnittlich.
  #1 (permalink)  
Alt 24-07-2009, 18:05
francosdad
 Registrierter Benutzer
Links : Onlinestatus : francosdad ist offline
Registriert seit: Mar 2009
Beiträge: 80
francosdad ist zur Zeit noch ein unbeschriebenes Blatt
Smile [gelöst] Mitglied nicht gefunden - IE Fehler

Hallo,

ich habe folgendes Problem mit Javascript un dem Internet Explorer.

Also zur Erklärung folgendes:

Auf einer Seite mit einem Formular, ist ein iframe eingebunden, in welchem ein Formular zum Fileupload ist.
Wenn ich über das iframe eine Datei anwähle, dann wird diese sofort hochgeladen und über Javascript auf der Parent-Seite ein Listenelement mit dem Namen der Datei erzeugt. Also quasi fast ein bisschen AJax ;-).

Wie zu erwarten war funktioniert das ganze im Firefox problemlos, nur der IE gibt mir den Fehler "Mitglied nicht gefunden".

Also zuerst die der Teil der Datei, welche das iframe enthält:

HTML-Code:
<TD style="color: white">
aktivieren: <INPUT type="checkbox" onclick="activcheck('attachmentarea', 'attachmentactiv')" id="attachmentactiv" name="attachmentactiv" value="1">
<div id="attachmentarea" style="color: white; width: 500px">
<iframe id="uploadframe" allowtransparency="true" scrolling="no" frameborder="0" style="border: none; width: 500px; height: 50px" src="EG/newsletter/attachment.php"></iframe>
<ol id="attachmentlist" >
<?php print showaddedattachments($_SESSION['newsletter']['attachment'])?>
</ol>
</div>
</TD>
Jetzt das iFrame:
PHP-Code:
include('initialisierung.php');
header('Content-Type: text/html; charset='.$_SESSION['language_charset']);
header('Cache-Control: must-revalidate, pre-check=0, no-store, no-cache, max-age=0, post-check=0');
if ($_FILES) {
    if ($_FILES['file']['size'] > 1000000) {
        print "    <script type=\"text/javascript\">\n
                confirm(\"".SIZE_ALARM_ATTACHMENT."\")
            </script>\n";
    } else {
        move_uploaded_file($_FILES['file']['tmp_name'], DIR_FS_CATALOG."upload/".$_FILES['file']['name']); 
    }
}
?>
<HEAD>
<link rel="stylesheet" type="text/css" href="../css/eg_newsletter.css">
<script type="text/javascript" src="../javascript/ajax.js"></script>
</HEAD>
<BODY onload="iFrameHeight()" >
    <form action="attachment.php" enctype="multipart/form-data" method="POST" style="color: #fff">
        <label class="filelabel"><?php echo FILE_UPLOAD_LABEL_ATTACHMENT ?></label>
        <INPUT type="file" name="file" onchange="this.form.submit(); addfile(this.value)" size="20" ><br />
    </form>
</BODY>
und zu guterletzt die Javascript Funktion:
Code:
function addfile(value) {
	var i = countLi2() + 1;
	var base = parent.document.getElementById('attachmentlist');
	var listenelement = document.createElement("li");
		listenelement.setAttribute("name", "liste[]");
		var att_id = document.createAttribute("id");
			att_id.nodeValue = "aid_"+i;
			listenelement.setAttributeNode(att_id);
	
	var listtext = document.createTextNode(value);

	var rlink = document.createElement("a");
		var att_href =	document.createAttribute("href");
			att_href.nodeValue = "javascript:remove2('"+i+"');";
			rlink.setAttributeNode(att_href);
		var att_class =	document.createAttribute("class");
			att_class.nodeValue = "button_large";
			rlink.setAttributeNode(att_class);
	var listpoint = base.appendChild(listenelement);
		listpoint.appendChild(listtext);
	var tn = listpoint.appendChild(rlink);
		tn.appendChild(document.createTextNode('Artikel entfernen'));
}
Ich habe zu dem Thema immer nur was wegen Style Attributen gelesen, aber ich spreche hier doch gar keine an?

Ich stehe völlig auf dem Schlauch.

Vielen Dank für Eure Hilfe.

Grüsse
Michael

Geändert von francosdad (25-07-2009 um 15:44 Uhr) Grund: gelöst
Mit Zitat antworten
  #2 (permalink)  
Alt 24-07-2009, 19:06
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Hallo Michael,

hast du mal versucht, statt die Attributknoten zu erzeugen, bearbeiten und einzufügen, einfach

Code:
deinKnoten.id = deineId;
deinKnoten.className = deinKlassenName;
usw. zu benutzen? Im IE und FF mache ich das immer so, das gibt am wenigsten Probleme und ist auch schön kurz.

Gruß,

Anja
Mit Zitat antworten
  #3 (permalink)  
Alt 24-07-2009, 19:11
francosdad
 Registrierter Benutzer
Links : Onlinestatus : francosdad ist offline
Registriert seit: Mar 2009
Beiträge: 80
francosdad ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Hallo,

meinst Du etwa so?

Code:
var knoten = document.createElementById('attachmentlist');
 knoten.id = "removelink_1",
 knoten.href = "javascript ......";
 knoten.appendTextNode('entfernen');
ist das der Ansatz oder hab ich es nicht kapiert (bin ein Newbie) ;-)

Grüsse
Michael
Mit Zitat antworten
  #4 (permalink)  
Alt 24-07-2009, 19:30
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Zitat:
Zitat von francosdad Beitrag anzeigen
Hallo,

meinst Du etwa so?

Code:
var knoten = document.createElementById('attachmentlist');
 knoten.id = "removelink_1",
 knoten.href = "javascript ......";
 knoten.appendTextNode('entfernen');
ist das der Ansatz oder hab ich es nicht kapiert (bin ein Newbie) ;-)

Grüsse
Michael
Also, ich seh grad noch was:
Code:
 knoten.id = "removelink_1",
 knoten.href = "javascript ......";
ist richtig, aber es gibt weder createElementById(id) noch appendTextNode. Entweder meinst du getElementById, um ein existierendes Element (mit id-Attribut) anzusprechen oder createElement(name), um ein neues Element zu erstellen.

Dein appendTextNode kannst du durch
Code:
appendChild(document.createTextNode(text))
ersetzen.

Nochmal als Beispiel bezogen auf deinen Code:

Statt

Code:
var rlink = document.createElement("a");
		var att_href =	document.createAttribute("href");
			att_href.nodeValue = "javascript:remove2('"+i+"');";
			rlink.setAttributeNode(att_href);
		var att_class =	document.createAttribute("class");
			att_class.nodeValue = "button_large";
			rlink.setAttributeNode(att_class);
kannst du
Code:
var rlink = document.createElement("a");
rlink.href = "javascript:remove2('" + i + "');";
rlink.className = "button_large";
schreiben. Andererseits wäre es besser, wenn du dich mit Events auseinandersetzt und diese href javascript:... Krücke z. B. durch einen onclick Event Handler ersetzt.

Geändert von AmicaNoctis (24-07-2009 um 19:36 Uhr)
Mit Zitat antworten
  #5 (permalink)  
Alt 25-07-2009, 13:31
francosdad
 Registrierter Benutzer
Links : Onlinestatus : francosdad ist offline
Registriert seit: Mar 2009
Beiträge: 80
francosdad ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
lso, ich seh grad noch was:
Code:

knoten.id = "removelink_1",
knoten.href = "javascript ......";

ist richtig, aber es gibt weder createElementById(id) noch appendTextNode. Entweder meinst du getElementById, um ein existierendes Element (mit id-Attribut) anzusprechen oder createElement(name), um ein neues Element zu erstellen.

Dein appendTextNode kannst du durch
Code:

appendChild(document.createTextNode(text))

ersetzen.
Sorry, hab mich verschrieben. Ich wollte nur dringend aus dem Büro.

Den Rest kann ich nachvollziehen, das mit dem Eventhandler ist auch verständlich, statt href; aber den href tag muss ich doch beim a Tag trotzdem setzen, oder?

Ansonsten erstmal vielen Dank.

Grüsse
Michael
Mit Zitat antworten
  #6 (permalink)  
Alt 25-07-2009, 14:17
AmicaNoctis
  Moderatorin
Links : Onlinestatus : AmicaNoctis ist offline
Registriert seit: Jul 2009
Beiträge: 5.709
Blog-Einträge: 9
AmicaNoctis sorgt für eine eindrucksvolle AtmosphäreAmicaNoctis sorgt für eine eindrucksvolle Atmosphäre
Standard

Du kannst (fast) jedes beliebige Element mit einem onclick-Handler benutzen, es muss nicht a sein. Wenn du trotzdem a benutzen willst und es außer dem onclick keinen echten Verweis enthalten soll, kannst du das href-Attribut (nicht "Tag") auf "#" setzen.

Gruß,

Anja
Mit Zitat antworten
  #7 (permalink)  
Alt 25-07-2009, 14:31
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
Zitat von AmicaNoctis Beitrag anzeigen
Du kannst (fast) jedes beliebige Element mit einem onclick-Handler benutzen, es muss nicht a sein.
Empfiehlt sich aber (oder ein anderes, per Default fokussierbares Element zu nehmen) - weil man dann keine Extrawürste braten muss, um das ganze auch per Tastatur bedienbar zu halten. (Vergabe eines tabIndex-Wertes per JS wäre eine der möglichen "Extrawürste".)

Zitat:
Wenn du trotzdem a benutzen willst und es außer dem onclick keinen echten Verweis enthalten soll, kannst du das href-Attribut (nicht "Tag") auf "#" setzen.
Ja, in Fällen, wo es keinen non-JS-Fallback gibt; sonst sollte dort natürlich die Adresse der Seite stehen, die diesen bereitstellt.
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #8 (permalink)  
Alt 25-07-2009, 15:05
francosdad
 Registrierter Benutzer
Links : Onlinestatus : francosdad ist offline
Registriert seit: Mar 2009
Beiträge: 80
francosdad ist zur Zeit noch ein unbeschriebenes Blatt
Standard

So, ich habe mein Javascript überarbeitet und wer glaubts; der Internet Explorer macht unbeeindruckt NICHTS! -> Firefox machts so wie es sein soll.

Code:
function addfile(value) {
	var i = countLi2() + 1;
	var base = parent.document.getElementById('attachmentlist');

	var listenelement = document.createElement("li");
		listenelement.id = "aid_"+i;
		listenelement.name = "liste[]";

	var rlink = document.createElement("a");
		rlink.href = "#";
		rlink.className = "button_large";
		rlink.onclick = "javascript:remove2('"+i+"')";
		rlink.appendChild(document.createTextNode('Artikel entfernen'));

	var listtext = document.createTextNode(value);

 	var inputelement = document.createElement("input");
		inputelement.type = "hidden";
		inputelement.value = value;
		inputelement.name = "attachment[]";

	var listpoint = base.appendChild(listenelement);
		
		listpoint.appendChild(listtext);
		listpoint.appendChild(inpuelement);
		listpoint.appendChild(rlink);
}
Ich werde verrückt, muss den der IE bei allem eine Extrawurst spielen?

Ich habe so das Gefühl, dass der IE mit dem parent. Probleme hat?! -> parent.document.getElementById('attachmentlist');

Grüsse
Michael

Geändert von francosdad (25-07-2009 um 15:13 Uhr)
Mit Zitat antworten
  #9 (permalink)  
Alt 25-07-2009, 15:09
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Du versucht, Elemente in ein Dokument einzuhängen, die in einem anderen Dokument erzeugt wurden - das ist eigentlich nicht erlaubt, die müssten erst mal mittels importNode ins jeweilige Dokument importiert werden. (M.E. ein Fehler, wenn andere Browser das kommentarlos schlucken.)

Erzeuge also die Elemente "in" dem Dokument, in welchem du sie auch einfügen willst - parent.document.createElement(...)
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #10 (permalink)  
Alt 25-07-2009, 15:32
francosdad
 Registrierter Benutzer
Links : Onlinestatus : francosdad ist offline
Registriert seit: Mar 2009
Beiträge: 80
francosdad ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Code:
function addfile(value) {
	var i = countLi2() + 1;
	var base = parent.document.getElementById('attachmentlist');

	var listenelement = parent.document.createElement("li");
		listenelement.id = "aid_"+i;
		listenelement.name = "liste[]";

	var rlink = parent.document.createElement("a");
		rlink.href = "javascript:remove2('"+i+"')";
		rlink.className = "button_large";
		rlink.appendChild(document.createTextNode('Artikel entfernen'));

	var listtext = parent.document.createTextNode(value);

	var inputelement = parent.document.createElement("input");
		inputelement.type = "hidden";
		inputelement.value = value;
		inputelement.name = "attachment[]";

	var listpoint = base.appendChild(listenelement);

		listpoint.appendChild(rlink);
		listpoint.appendChild(listtext);
		listpoint.appendChild(inputelement);
}
Auf diese Art?

Mit dieser Zeile habe ich doch eingentlich das Parentfenster angesprochen oder?: var base = parent.document.getElementById('attachmentlist');

Wenn ich parent vor jedes create setze gehts auch nicht; ausser natürlich im Firefox.

Interessiert den IE auch nicht, der sagt nach wie vor: Mitglied nicht gefunden!

Ich google auch schon wie ein verrückter, aber ich finde nichts.

Grüsse
Michael
Mit Zitat antworten
  #11 (permalink)  
Alt 25-07-2009, 15:39
wahsaga
  Moderator
Links : Onlinestatus : wahsaga ist offline
Registriert seit: Sep 2001
Beiträge: 25.236
wahsaga befindet sich auf einem aufstrebenden Ast
Standard

Beim Textknoten hast du's noch vergessen, diesen auch im Zieldokument zu erzeugen.

Wenn's dann immer noch nicht will - ist das jetzt alles an Code?
Wo genau tritt der Fehler auf?
Beispielseite?
__________________
I don't believe in rebirth. Actually, I never did in my whole lives.
Mit Zitat antworten
  #12 (permalink)  
Alt 25-07-2009, 15:42
francosdad
 Registrierter Benutzer
Links : Onlinestatus : francosdad ist offline
Registriert seit: Mar 2009
Beiträge: 80
francosdad ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Habe gerade parent. noch an den Textknoten gefügt und es GEHT



Das wird heute abend:

Danke und Ciao.
Michael
Mit Zitat antworten
Antwort

Lesezeichen


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

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Fehler gefunden ? Berni Fragen/Vorschläge zum Forum 72 29-07-2009 20:05
Fehler: Undefined Index. Warum wird die Variable nicht gefunden? cayn82 PHP Developer Forum 5 30-05-2006 23:07
Fehler in query - nicht gefunden zuzu PHP Developer Forum 17 26-01-2003 19:43
Seite nicht gefunden bzw. Script konnte nicht geoeffnet werden rlebek PHP Developer Forum 1 07-12-2002 13:35
CD LW wird nicht gefunden saschak Windows (Client/Server) 1 05-09-2001 15:43

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

PHP Server Monitor

PHP Server Monitor ist ein Skript, das prüft, ob Ihre Websites und Server betriebsbereit sind.

11.09.2018 Berni | Kategorie: PHP/ Security
PHP WEB STATISTIK ansehen PHP WEB STATISTIK

Die PHP Web Statistik bietet Ihnen ein einfach zu konfigurierendes Script zur Aufzeichnung und grafischen und textuellen Auswertung der Besuchern Ihrer Webseite. Folgende zeitlichen Module sind verfügbar: Jahr, Monat, Tag, Wochentag, Stunde Folgende son

28.08.2018 phpwebstat | Kategorie: PHP/ Counter
Affilinator - Affilinet XML Produktlisten Skript

Die Affilinator Affilinet XML Edition ist ein vollautomatisches Skript zum einlesen und darstellen der Affili.net (Partnerprogramm Netzwerk) Produktlisten und Produktdaten. Im Grunde gibt der Webmaster seine Affilinet PartnerID ein und hat dann unmittelb

27.08.2018 freefrank@ | Kategorie: PHP/ Partnerprogramme
 Alle PHP Scripte anzeigen

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