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: 1 Stimmen, 5,00 durchschnittlich.
  #1 (permalink)  
Alt 21-07-2008, 10:36
joextra
 Registrierter Benutzer
Links : Onlinestatus : joextra ist offline
Registriert seit: Jul 2005
Beiträge: 260
joextra ist zur Zeit noch ein unbeschriebenes Blatt
Standard [JavaScript] input felder dynamisch einfügen

hallo,

ich will per js neue input felder dynamisch an einer bestimmten position einfügen. das mache ich mit folgender funktion:
Code:
function doIt() {
	content = document.getElementById('newElBG').innerHTML;
	document.getElementById('newElBG').innerHTML = content + '<input type="text" name="bgText[]" id="bgText" value="" class="inputText" style="width:338px;"><br>';
}
eingefügt wird es hier:
Code:
<div id="newElBG"></div>
	<input type="button" name="newElBG" onClick="doIt()" value="neues Element hinzufügen" class="inputButton">
klappt auch beim ie wunderbar. ff macht aber probleme. wenn man ein neues element erstellt, werden die werte der vorherigen elemente nicht übernommen sondern gelöscht, was aber nicht passieren darf. weiß jemand wieso die value beim ff nicht übernommen wird?
__________________
Erfahrungen vererben sich nicht jeder muss sie allein machen.
Mit Zitat antworten
  #2 (permalink)  
Alt 21-07-2008, 10:51
Cheadle
 Registrierter Benutzer
Links : Onlinestatus : Cheadle ist offline
Registriert seit: Feb 2008
Beiträge: 29
Cheadle ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Firefox macht eigentlich nur, was du ihm sagst. Ein Teil des Qelltextes wird mit innerHTML entnommen und anschließend komplett überschrieben. Da die Werte der Felder so gesehen nicht im Quelltext stehen, können die auch nicht gelesen werden.

Sauberer geht's mit dem DOM und document.createElement() bzw. appendChild()

http://de.selfhtml.org/javascript/objekte/node.htm
Mit Zitat antworten
  #3 (permalink)  
Alt 21-07-2008, 11:36
joextra
 Registrierter Benutzer
Links : Onlinestatus : joextra ist offline
Registriert seit: Jul 2005
Beiträge: 260
joextra ist zur Zeit noch ein unbeschriebenes Blatt
Standard

so habe ich es anfangs gemacht. habe dazu diese funktion benutzt:
Code:
function buildNewElement(parentID, childID) {
	var newFields = document.getElementById(parentID).cloneNode(true);
	var newField = newFields.childNodes;
	var insertHere = document.getElementById(childID);
	insertHere.parentNode.insertBefore(newFields,insertHere);
}
aufruf:
Code:
<div id="newElST"></div>
<div id="parentSTBG">
<input type="text" name="stText[]" value="" class="inputText" style="width:290px;"><br></div>
<input type="button" name="newElST" onClick="buildNewElement('parentSTBG', 'newElST')" value="neues Element hinzufügen" class="inputButton">

das problem dabei ist, das wenn das elternelement gefüllt ist, der text beim klonen in die kinderelemente mit übernommen wird. das sollte aber nicht passieren. die kinderelemente sollen aber leer sein. das krieg ich aber nicht hin. deswegen habe ich es mit innerHTML probiert, und es schien zu klappen ... bis ich es mit ff getestet habe
__________________
Erfahrungen vererben sich nicht jeder muss sie allein machen.
Mit Zitat antworten
  #4 (permalink)  
Alt 21-07-2008, 14:44
krel
 Registrierter Benutzer
Links : Onlinestatus : krel ist offline
Registriert seit: Nov 2006
Ort: Osnabrück
Beiträge: 424
krel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

wie wärs denn wenn du das neue Feld nicht klonst, sondern eine neues anlegst
PHP-Code:
var input document.createElement('input');
input.setAttribute('type''text');
input.setAttribute('name''stText[]');
//usw je nachdem welche Attribute das Tag noch haben soll
document.getElementById('newElBG').addChild(input); 
(ungetestet)
Mit Zitat antworten
  #5 (permalink)  
Alt 21-07-2008, 15:35
joextra
 Registrierter Benutzer
Links : Onlinestatus : joextra ist offline
Registriert seit: Jul 2005
Beiträge: 260
joextra ist zur Zeit noch ein unbeschriebenes Blatt
Standard

danke für deinen vorschlag. habe den grad getestet (musst aber addChild druch appendChild ersetzen). klappt zwar ganz gut, gibt aber zwei probleme:
1. class wird beim ie nicht übernommen
2. ich kann kein <br> für eine neue zeile einfügen (soll ja nicht alles nach ein ander eingefügt werden)
die sache ist auch das es nicht nur ein inputfeld ist, sondern mehrere und ich muss dazwischen auch etwas html einfügen.
__________________
Erfahrungen vererben sich nicht jeder muss sie allein machen.
Mit Zitat antworten
  #6 (permalink)  
Alt 21-07-2008, 15:59
Kropff
  Administrator
Links : Onlinestatus : Kropff ist offline
Registriert seit: Mar 2002
Ort: Köln
Beiträge: 11.722
Kropff befindet sich auf einem aufstrebenden Ast
Standard

Zitat:
1. class wird beim ie nicht übernommen
vielleicht hilft dir das hier weiter.

peter
__________________
Nukular, das Wort ist N-u-k-u-l-a-r (Homer Simpson)
Meine Seite
Mit Zitat antworten
  #7 (permalink)  
Alt 21-07-2008, 16:13
joextra
 Registrierter Benutzer
Links : Onlinestatus : joextra ist offline
Registriert seit: Jul 2005
Beiträge: 260
joextra ist zur Zeit noch ein unbeschriebenes Blatt
Standard

na gut, aber es geht hier ja nicht nur um die class. ich will ja dazwischen auch html elemente einfügen, und das geht ja damit nicht.
das was ich brauche ist so etwas wie innerHTML, das aber nur elemente hinzufügt und die bestehenden nicht überschreibt.
__________________
Erfahrungen vererben sich nicht jeder muss sie allein machen.
Mit Zitat antworten
  #8 (permalink)  
Alt 21-07-2008, 16:30
krel
 Registrierter Benutzer
Links : Onlinestatus : krel ist offline
Registriert seit: Nov 2006
Ort: Osnabrück
Beiträge: 424
krel ist zur Zeit noch ein unbeschriebenes Blatt
Standard

natürlich kannst du auch ein <br /> einfügen
PHP-Code:
document.getElementById('newElBG').appendChild(document.createElement('br')); 
umrühren fertig
alle HTML Elemente kannst du mittels dieser Funktionen erzeugen und hinzufügen, das ist ja grad das tolle
Mit Zitat antworten
  #9 (permalink)  
Alt 21-07-2008, 16:45
joextra
 Registrierter Benutzer
Links : Onlinestatus : joextra ist offline
Registriert seit: Jul 2005
Beiträge: 260
joextra ist zur Zeit noch ein unbeschriebenes Blatt
Standard

ich habe jetzt eine einfachere möglichkeit gefunden bei der ich die obere funktion buildNewElement verwenden kann.
ich füge das div, das geklont werden soll einfach ein "unsichtbares" div rum.
also so:
Code:
<div style="visibility:hidden; display:none">
<div id="parentElBG"><input type="text" name="bgText[]" id="bgText" value="" class="inputText" style="width:338px;"><br></div>
</div>
das klappt ganz gut. ok, ff zickt etwas (übernimmt die werte des letzten inputs), aber das ist nicht so schlimm. das komisch ist nur, das bei einem reload (beim ff), die value vom hauptelement erhalten bleibt.
__________________
Erfahrungen vererben sich nicht jeder muss sie allein machen.

Geändert von joextra (21-07-2008 um 16:48 Uhr)
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

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 18:49 Uhr.