Gut, ein Fehler behoben, jetzt sieht der Code wie folgt aus:
<html><body>
<form action="itemid.php" method="post">
<select name="itemid" size="10" >
<option value="1">wasser</option>
<option value="2">erde</option>
<option value="3">luft</option>
<option value="4">feuer</option>
</select>
</form>
<script type="text/javascript">
for (var i = 0; i < document.forms[0].itemid.length; ++i)
{
var htmlstart = '<form target="itemfr" action="';
var url = '/itemid.php?ud=';
var itid = document.forms[0].itemid.options[i].value;
var htmlend1 = '&st=0" method="post">';
var htmlend2 = '<input type="submit" name="submit" value="neu" id="x">';
var htmlend3 = '<input type="hidden" name="entry" value="bla">';
var htmlend4 = '</form><script>alert('test')</script>';
var htmlend5 = '<iframe name="itemfr">';
var htmlgesamt = htmlend1+ htmlend2 + htmlend3 + htmlend4 + htmlend5;
var code = htmlstart + url + itid + htmlgesamt;
var codezwischenspeicher = "" + codezwischenspeicher + code;
}
document.write(codezwischenspeicher);
</script>
</body>
</html>
Allerdings wird auch immernoch ein Fehler ausgeworfen:
Fehler: unterminated string literal
Quelldatei: file:///C:/Dokumente%20und%20Einstellungen/icke/Desktop/test2.html
Zeile: 25, Spalte: 15
Quelltext:
var htmlend4 = '</form><script>alert('23')
Obwohl der </script> tag noch vor dem Delimiter kommt.
Lasse ich den <script>alert('test')</script> weg, dann
wird mir auch nur genau 1 iframe generiert.
Wodran liegt das? Viele Fragen, aber ich versuchs immerhin
mit testen und selber schreiben, statt mit Fragen ala wer schreibt mir das.
Grüße