PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Eleganter Umgang mit Formulareingaben



Bernd_das_Brot
08.05.2010, 12:11
Hallo zusammen!

Kann mir jemand einen eleganten Loesungsansatz fuer folgendes Problem geben:



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
"http://www.w3.org/TR/html4/strict.dtd">

<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">
<script type="text/javascript">
<!--
function Ausgabe () {
ausgabe = document.Formular.l1.value;
ausgabe += document.Formular.l2.value;
ausgabe += document.Formular.l3.value;
ausgabe += document.Formular.l4.value;
ausgabe += document.Formular.l5.value;
alert(ausgabe);

return true;
}
-->
</script>
</head>
<body>
<form name="Formular" action="auswertung.php" method="POST" onsubmit="return Ausgabe();">
<input type="text" name="l1" value="-"> #1<br>
<input type="text" name="l2" value="-"> #2<br>
<input type="text" name="l3" value="-"> #3<br>
<input type="text" name="l4" value="-"> #4<br>
<input type="text" name="l5" value="-"> #5<br>
<button type="submit">absenden</button>
</form>
</body>
</html>

Dies ist einfach ein Beispielcode. edit: (Ein Beispielcode. Mit 'elegant' meine ich eine Verarbeitung von weit mehr als fuenf 'input'-Feldern.) Ich wuerde das Ganze lieber kuerzer fassen als mit etlichen Anweisungen wie diesen hier:


ausgabe += document.Formular.[...].value;

dead_orc
08.05.2010, 13:22
Wozu zum Henker willst du einfach nur Eingabefelder aneinander hängen?

Aber bitte:

function Ausgabe () {
var formname = "Formular";
var ausgabe = "";
for(var i = 0; i < document.forms[formname].elements.length; i++) {
if(document.forms[formname].elements[i].type == "text")
ausgabe += document.forms[formname].elements[i].value;
}
alert(ausgabe);

return true;
}

Bernd_das_Brot
08.05.2010, 13:36
Vielen Dank!

Ich denke das hilft mir weiter. Wenn nicht, melde ich mich nochmal ;)