djdaveat@mac.co
New member
Hi!
Ich arbeite momentan an einem Formular, das mir einige Sorgen bereitet. Der Quelltext dazu ist vollständig weiter unten.
Das Projekt dahinter ist eine Präsentation, die auf Folien basiert. Über das Formular will ich die Inhalte vom Benutzer einlesen, die ich dann auf die einzelnen Folien übertrage.
Problem 1)
Leider werden momentan über $_POST die Daten des (mittels DOM erstellten) DIVs im Formular nicht mitübertragen... /: Eigentlich müsste das mit DOM neu erstellte DIV doch folgende Werte über das Formular weiter unten (wo es ja eingebunden wird) mitschicken: 'content1', 'wahl1', 'titel1'. Passiert aber nicht /: Kann sich jemand denken, warum?
content0, wahl0 und titel0 (also das DIV; das ich direkt per Hand unten im Formular hineingecodet habe) werden übertragen...
Problem 2)
Die DIVs (momentan erst eines), die über DOM dynamisch erstellt werden, will ich nachher mittels PHP noch "vervielfältigen". Sprich: Wo momentan noch per Hand 'innen1'/'title1'... steht, soll nachher mittels der $test-Variable aufsteigend nummeriert werden, damit ich unendlich viele DIV's hinzufügen kann.
Das ganze mit DOM habe ich jetzt zwar fast geschafft (bis auf Problem Nummer 1), aber es war doch recht umständlich... ginge das nicht auch irgendwie einfacher?!
Problem 3)
Gibt's eine Möglichkeit, mein selbst so schmählich dahingefunzelte DOM-Werk über ein praktisches Skript oder sowas als Plain-Text anzeigen zu lassen? Also ich meine, dass ich zB meine lange Schlange von DOM-Zeugs wo reinkopiere und dann direkt sehe wie das aussieht als HTML. Denn das kann ich mir ja schon recht leicht vorstellen, dass einfach irgendwo ein Tag nicht geschlossen wird und die Formulardaten deswegen (siehe Problem 1) nicht abgeschickt werden können. Oder umgekehrt: eventuell hätte ich ja einfach das HTML-Zeugs wo reinkopieren können und automatisch das DOM-umgewandelte Zeugs gesehen?!
Hier also der Quelltext:
Die PHP-Datei, auf die ich verweise, ist einfach simpel zum überprüfen:
Wäre über jede Hilfe dankbar /:
Ich arbeite momentan an einem Formular, das mir einige Sorgen bereitet. Der Quelltext dazu ist vollständig weiter unten.
Das Projekt dahinter ist eine Präsentation, die auf Folien basiert. Über das Formular will ich die Inhalte vom Benutzer einlesen, die ich dann auf die einzelnen Folien übertrage.
Problem 1)
Leider werden momentan über $_POST die Daten des (mittels DOM erstellten) DIVs im Formular nicht mitübertragen... /: Eigentlich müsste das mit DOM neu erstellte DIV doch folgende Werte über das Formular weiter unten (wo es ja eingebunden wird) mitschicken: 'content1', 'wahl1', 'titel1'. Passiert aber nicht /: Kann sich jemand denken, warum?
content0, wahl0 und titel0 (also das DIV; das ich direkt per Hand unten im Formular hineingecodet habe) werden übertragen...
Problem 2)
Die DIVs (momentan erst eines), die über DOM dynamisch erstellt werden, will ich nachher mittels PHP noch "vervielfältigen". Sprich: Wo momentan noch per Hand 'innen1'/'title1'... steht, soll nachher mittels der $test-Variable aufsteigend nummeriert werden, damit ich unendlich viele DIV's hinzufügen kann.
Das ganze mit DOM habe ich jetzt zwar fast geschafft (bis auf Problem Nummer 1), aber es war doch recht umständlich... ginge das nicht auch irgendwie einfacher?!
Problem 3)
Gibt's eine Möglichkeit, mein selbst so schmählich dahingefunzelte DOM-Werk über ein praktisches Skript oder sowas als Plain-Text anzeigen zu lassen? Also ich meine, dass ich zB meine lange Schlange von DOM-Zeugs wo reinkopiere und dann direkt sehe wie das aussieht als HTML. Denn das kann ich mir ja schon recht leicht vorstellen, dass einfach irgendwo ein Tag nicht geschlossen wird und die Formulardaten deswegen (siehe Problem 1) nicht abgeschickt werden können. Oder umgekehrt: eventuell hätte ich ja einfach das HTML-Zeugs wo reinkopieren können und automatisch das DOM-umgewandelte Zeugs gesehen?!
Hier also der Quelltext:
Code:
<html>
<head>
<title>new</title>
<script type="text/javascript">
var test = 1;
function addit(){
var _mydiv = document.getElementById('newone');
// als naechestes muessen wir die Tags definieren
var _bolt = document.createElement('b');
var _div = document.createElement('div');
var _form = document.createElement('form');
var _select = document.createElement('select');
var _input = document.createElement('input');
var _textarea = document.createElement('textarea');
_mydiv.appendChild(_div);
_div.setAttribute('id','innen1');
_div.setAttribute('style','border: 2px solid black');
_div.appendChild(_select);
_select.setAttribute('name','wahl1');
_select.setAttribute('size','3');
var _option1 = document.createElement('option');
_select.appendChild(_option1);
_opt1 = document.createTextNode('news');
_option1.appendChild(_opt1);
var _option2 = document.createElement('option');
_select.appendChild(_option2);
_opt2 = document.createTextNode('video');
_option2.appendChild(_opt2);
var _option3 = document.createElement('option');
_select.appendChild(_option3);
_opt3 = document.createTextNode('custom');
_option3.appendChild(_opt3);
var _br1 = document.createElement('br');
_div.appendChild(_br1);
_title = document.createTextNode('Titel');
_div.appendChild(_title);
var _br2 = document.createElement('br');
_div.appendChild(_br2);
_div.appendChild(_input);
_input.setAttribute('name','title1');
_input.setAttribute('type','text');
_input.setAttribute('size','30');
_input.setAttribute('maxlength','30');
_input.setAttribute('value','z.B. Datum');
var _br3 = document.createElement('br');
_div.appendChild(_br3);
_cont = document.createTextNode('Content:');
_div.appendChild(_cont); // koennte sein dass man das nicht an br sondern an div anhaengt!
var _br4 = document.createElement('br');
_div.appendChild(_br4);
_div.appendChild(_textarea);
_textarea.setAttribute('name','content1');
_textarea.setAttribute('cols','50');
_textarea.setAttribute('rows','10');
_hinweis = document.createTextNode('Bitte hier den Inhalt hinein:');
_textarea.appendChild(_hinweis);
}
function removeit(){
var _mydiv = document.getElementById('newone');
_mydiv.removeChild(_mydiv.lastChild);
if (test > 0) { test--; }
}
</script>
</head>
</body>
<div id="newone" style="border: 2px solid blue;">
<!-- der dynamisch zu erstellende Teil -->
<form method="post" action="speicher.php">
<div id="innen0" style="border: 2px solid black;">
<select name="wahl0" size="3">
<option>news</option>
<option>video</option>
<option>custom</option>
</select>
<br/>Titel:<br><input name="title0" type="text" size="30" maxlength="30" value="z.B. Datum" />
<br/>Content:<br><textarea name="content0" cols="50" rows="10">Bitte hier den Inhalt hinein</textarea>
</div>
<!-- endet hier -->
</div>
<hr>
<input type="button" id="mybutton" name="mybutton" value="add" onclick="addit()" />
<input type="button" id="mybutton" name="mybutton" value="delete" onclick="removeit()" />
<hr>
<input type="submit" value=" Absenden ">
</form>
</body>
</html>
Die PHP-Datei, auf die ich verweise, ist einfach simpel zum überprüfen:
Code:
<html>
<head>
<title>new</title>
<script type="text/javascript"></script>
</head>
<body>
Folgende Daten wurden abgeschickt: <br><br>
<?
echo $_POST['wahl0'];
?>
<br/>
<?
echo $_POST['title0'];
?>
<br/>
<?
echo $_POST['content0'];
?>
<br/>
<?
echo $_POST['wahl1'];
?>
<br/>
<?
echo $_POST['title1'];
?>
<br/>
<?
echo $_POST['content1'];
?>
</body>
</html>
Wäre über jede Hilfe dankbar /:
Zuletzt bearbeitet: