Webstatt.org - Community seit 2006 - 2012 (2024?)

div mit formulare füllen

Avatar user-279
07.06.2007 06:36

Hallo

Für eine Spesenverwaltung will ich mit Javascript eine vom User angebene Anzahl Spesenpositionsformulare ausgeben lassen. Funktioniert eigentlich auch ganz gut, solang ich nur ein String ausgebe. Sobald ich aber ein Formular ausgeben will, gibt es einen Fehler.

Zuerst dachte ich es sei wegen der Tabelle die ich ausgeben will, jetzt habe ich das Formular aber umgeschrieben, klappt trotzdem nicht.

Hier ist der Javascript code:

function print_positions () {
document.getElementById('anzahl'zwinkern.style.display = 'none';
document.getElementById('positionen'zwinkern.style.visibility = 'visible';
var anzahl = document.getElementById('anz_posi'zwinkern.value;

// Hier gehts los
var content = '<div id="position_left">
<ul>
<li>Bezeichung /<br />Bemerkung</li>
<li>Spesenart</li>
<li>Betrag</li>
<li>Währung</li>
</ul>
</div>
<div>
<input type="text" name="bezeichnung" class="bezeichnung">
<br />
<select name="select" class="dropdown">
<option>-- bitte wählen --</option>
<option class="reisen">Reise Kosten</option>
<option class="essen">Essens Kosten</option>
<option class="material">Material Kosten</option>
</select>
<br />
<input type="text" name="betrag" class="betrag" />
<br />
<select name="select" class="dropdown" style="margin-top: 8px; ">
<option>Euro €</option>
<option>Schweizer Franken CHF</option>
</select>
</div>';

// Da gebe ich es aus
for (i = 0; i < anzahl; i++) {
document.getElementById('positionen'zwinkern.innerHTML += content;
}
}


Die Fehlerkonsole meldet:

Fehler: unterminated string literal
Zeile: 56, Spalte: 16
Quelltext:
var content = '<div id="position_left">


Wie gesagt, wenn ich in var content zb. nur "asdf <br />" schreibe, klappts.

Danke schonmal für eure Beiträge

so long

user-303
07.06.2007 07:20

du kannst in js keine strings über mehrere zeilen machen.

Avatar user-279
07.06.2007 07:28

danke. und wie mach ich es stattdessen? bzw. was ist die beste möglichkeit so ein formular ausgeben zu lassen?

Avatar user-162
07.06.2007 12:10

einfach den String in nur eine Zeile schreiben oder per DOM die einzelnen Knoten erstellen.

Perfection is not when there’s nothing to add, but when there’s nothing to take away swisscheek.com/magazine
Avatar user-349
07.06.2007 13:03

mit SSI könntest du die Codeteile auslagern und dann via js einbinden (macht sich im Code evt. schöner als so eine lange Zeile).