Formular eine ID zuweisen
Jerry02
- javascript
0 Beat0 Gunnar Bittersmann0 Jerry020 EKKi
Hallo liebes Forum,
und zwar habe ich ein Formular welches ausgefüllt werden kann. Nun will ich, dass der Inhalt des Formulars mit Hilfe von innerHTML in eine Tabelle weiter unten ausgegeben wird. Dazu benötigt aber das Formular doch eine ID oder? Ich muss mich entschuldigen, weil ich bin ein totaler laie auf dem Gbeiet und mir wurde für ein Praktikum so eine Aufgabe zugeteilt. Es war natürlich erstmal schwer sich überhaupt zurechtzufinden, weil ich mich noch nie mit java script beschäftigt habe.
Vielleicht kann mir ja ein Profi aus eurem Forum helfen.
MfG
und zwar habe ich ein Formular welches ausgefüllt werden kann. Nun will ich, dass der Inhalt des Formulars mit Hilfe von innerHTML in eine Tabelle weiter unten ausgegeben wird. Dazu benötigt aber das Formular doch eine ID oder?
Nein. Dein Formular hat Felder mit name Attributen. Da du auf diese zugreifen willst, kannst du dieses Attribut verwenden.
http://de.selfhtml.org/javascript/objekte/document.htm#get_elements_by_name
Ich muss mich entschuldigen, weil ich bin ein totaler laie auf dem Gbeiet und mir wurde für ein Praktikum so eine Aufgabe zugeteilt. Es war natürlich erstmal schwer sich überhaupt zurechtzufinden, weil ich mich noch nie mit java script beschäftigt habe.
Dann solltest du dir die Beispiele auf der verlinkten Seite ansehen.
mfg Beat
@@Beat:
nuqneH
Nein. Dein Formular hat Felder mit name Attributen. Da du auf diese zugreifen willst, kannst du dieses Attribut verwenden.
http://de.selfhtml.org/javascript/objekte/document.htm#get_elements_by_name
Nein. Hier wie dort: Das Durchlaufen des DOMs ist völlig unnötig; solch eine Collection existiert bereits: http://de.selfhtml.org/javascript/objekte/elements.htm@title=elements.
Dann solltest du dir die Beispiele auf der verlinkten Seite ansehen.
Auf der eben genannten.
Qapla'
@@Jerry02:
nuqneH
und zwar habe ich […]
*ohrenspitz*
[…] ein Formular welches ausgefüllt werden kann.
Ach so? #überraschung *gähn*
Nun will ich, dass der Inhalt des Formulars mit Hilfe von innerHTML in eine Tabelle weiter unten ausgegeben wird.
Der Sinn wäre welcher?
Dazu benötigt aber das Formular doch eine ID oder?
Nein.
mir wurde für ein Praktikum so eine Aufgabe zugeteilt.
Ah, das beantwortet wohl obige Frage. Du sollst beschäftigt werden, damit du nichts kaputtmachst? #abstellgleis
Vielleicht kann mir ja ein Profi aus eurem Forum helfen.
Bestimmt. Wobei genau?
Qapla'
Also meine Aufgabe: Ich soll ein Portfolie Management System erstellen.
Das sol ungefähr so aussehen:
<html>
<head>
<title>Portfolio Management System</title>
</head>
<body>
<h1>Portfolio Management System</h1>
<form name="Formular">
<table border="0" cellpadding="0" cellspacing="4">
<tr>
<th align="right">WKN:</th>
<th><input name="WKN" type="text" size="30" maxlenth="30"></th>
<th align="right">Kurs:</th>
<th><input name="Kurs" type="text" size="30" maxlenth="30"></th>
<th align="left">Euro</th>
</tr>
<tr>
<th align="right">Name:</th>
<th><input name="Name" type="text" size="30" maxlenth="30"></th>
<th align="right">Stück:</th>
<th><input name="Stueck" type="text" size="30" maxlenth="30"></th>
</tr>
<tr>
<th align="right">Kategorie:</th>
<th><input name="Kategorie" type="text" size="30" maxlenth="30"></th>
<th><input type="button" tabindex="2" value="hinzufügen" onClick="texterstellen();">
</th>
</tr>
</table>
<br>
<br>
<table border="0" cellpadding="0" cellspacing="4">
<tr>
<th align="right" valign="top">Sortiere die Tabelle nach:</th>
<th>
<SELECT NAME=Name>
<OPTION>WKN <OPTION>Name <OPTION>Kategorie <OPTION>Anzahl <OPTION>Kurs <OPTION>Gesamtwert
</SELECT>
</th>
<th>
<a href="">absteigend</a>
</th>
<th>
<a href="">aufsteigend</a>
</th>
</tr>
</table>
<br>
<br>
<br>
<table border="1">
<tr>
<th>WKN</th>
<th>Name</th>
<th>Kategorie</th>
<th>Anzahl</th>
<th>Kurs</th>
<th>Gesamtwert</th>
<th>Aktion</th>
</tr>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td></td>
<td><a href="">Kurs ändern</a> <a href="">Anzahl ändern</a> <a href="">löschen</a></td>
</tr>
</table>
</body>
</html>
Das hab ich übrigens selber gemacht falls jemand denkt, dass ich garkeine Ahnun habe. Ich hab halt nur noch keine Ahnung von javascript, also dem ganzen Leben einhauchen.
Ich hab es ja schon geschafft, dass die Dokumentendaten auf einer anderen Seite ohne Tabelle ausgegeben werden. Aber sie sollen ja in diese Tabelle darunter eingefügt werden.
Der Chef hat mir den Tip gegeben ich soll mal nach innerHTML forschen, doch so richtig verstehe ich nicht wie die Daten aus dem Formular in die Tabelle kommen können.
Ohne Formular klappt es.
Vieleicht könnt Ihr mir ja jetzt helfen bzw. noch weiter helfen.
@Gunner Bittersmann: Netter hätte man es icht ausdrücken können! Danke
MfG
Mahlzeit Jerry02,
<html>
<head>
Es fehlt die Angabe eines http://de.selfhtml.org/html/allgemein/grundgeruest.htm#dokumenttyp@title=Dokument-Typs.
<title>Portfolio Management System</title>
Der Begriff dürfte "etwas" hochtrabend dafür sein, oder nicht?
<th><input type="button" tabindex="2" value="hinzufügen" onClick="texterstellen();">
OK, das sorgt also dafür, dass die gemachten Eingaben in irgendeiner Form in der unten stehenden Tabelle eingefügt werden (ist erstmal zweitrangig) ... und dann? Wo und wie willst Du diese Eingaben dauerhaft speichern? Ist Dir und Deinem "Chef" überhaupt klar, was Du machst bzw. machen sollst? Das scheint mir nämlich nicht so ...
» <SELECT NAME=Name>
<OPTION>WKN <OPTION>Name <OPTION>Kategorie <OPTION>Anzahl <OPTION>Kurs <OPTION>Gesamtwert </SELECT>
Derart invaliden Code habe ich schon seit ca. 15 Jahren nicht mehr gesehen ...
Das hab ich übrigens selber gemacht falls jemand denkt, dass ich garkeine Ahnun habe.
Ähm ... und? Das bestätigt doch nur eher derartige Gedanken ...
Der Chef hat mir den Tip gegeben ich soll mal nach innerHTML forschen, doch so richtig verstehe ich nicht wie die Daten aus dem Formular in die Tabelle kommen können.
Das ist schön, dass Dein Chef Dir derart allgemein gehaltene Tipps gibt ... aber wie lautet denn nun eigentlich die konkrete Aufgabenstellung? Bestimmt nicht "erstelle ein Portfolio Management System".
Ansonsten gebe ich Gunnar recht: ein Formular braucht keine ID.
MfG,
EKKi
@@EKKi:
nuqneH
<SELECT NAME=Name> <OPTION>WKN <OPTION>Name <OPTION>Kategorie <OPTION>Anzahl <OPTION>Kurs <OPTION>Gesamtwert </SELECT>
Derart invaliden Code habe ich schon seit ca. 15 Jahren nicht mehr gesehen ...
Vielleicht solltest du den Validator nicht nur immer wieder verlinken, sonden auch mal benutzen?
Der Code ist valides HTML 4.01.
Qapla'
Mahlzeit Gunnar Bittersmann,
Vielleicht solltest du den Validator nicht nur immer wieder verlinken, sonden auch mal benutzen?
Aber nur vielleicht ... :-)
Der Code ist valides HTML 4.01.
Aber sowas von grausam ... Elemente zu öffnen ohne sie anschließend zu schließen mag zwar erlaubt sein, aber das hat mir damals schon die Fußnägel hochgeklappt.
MfG,
EKKi
@@EKKi:
nuqneH
Aber sowas von grausam ... Elemente zu öffnen ohne sie anschließend zu schließen mag zwar erlaubt sein, aber das hat mir damals schon die Fußnägel hochgeklappt.
ACK. Und Elementbezeichner mal in Groß-, mal in Kleinbuchstaben. Und Attributwerte ohne Anführungszeichen. ↗[HTML401 §3.2.2]
Und weil HTML grausam ist, schreibt man[tm] ja XHTML.
Qapla'
Es tut mir leid dass ich euch hier solche invaliden codes liefere aber so richtige Hilfe bekomme ich leider nicht und darum hab ich ja hier nachgefragt.
Also ich habe einen Zettel bekommen, wo eben diese von mir erstellte Oberfläche zu sehen ist mit der Tabelle usw.
Daneben sind kleine Tips angeheftet:
So vielleicht ist es ja jetzt alles logischer!
Mahlzeit Jerry02,
Also ich habe einen Zettel bekommen, wo eben diese von mir erstellte Oberfläche zu sehen ist mit der Tabelle usw.
Aha - also eine Art "so soll es mal aussehen".
Daneben sind kleine Tips angeheftet:
- "über diese Maske (das Eingabeformular) können Wertpapiere in die untere Tabelle eingefügt werden. Nach dem Klick auf "hinzufügen" werden die Felder geleert und das Wertpapier sortiert in die Tabelle eingefügt"
Das ist dann wohl der konkrete Arbeitsauftrag ... und was hast Du bisher unternommen, um diese Funktionalität umzusetzen?
- "nach dem Klick auf absteigend oder aufsteigend wird die Tabelle entsprechend sortiert"
Gleiche Frage.
- "über die Links in der Spalte Aktion können die entsprechenden Werte in der Tabelle geändert werden. Der zu ändernde Wert wird über ein Popup abgefragt."
Gleiche Frage.
So vielleicht ist es ja jetzt alles logischer!
Jein. Was Dein Chef von Dir will, ist klar. Aber warum Du darunter ein komplettes "Portfolio Management System" verstehst, nicht. Genauso wenig ist klar, warum Du die Aufgabenstellungen bisher noch nicht in konkrete Arbeitsschritte heruntergebrochen hast, damit Du loslegen kannst.
MfG,
EKKi
Naja Portfolio Management System eigentlich nur weil es als Überschrift oben stand und der Chef mir es so erklärt hat. Ist mir aber natürlich klar das das nix ganzes und nichts halbes ist.
Naja ich hatte ja wie schon gesagt vor diesem Praktikum, was Montag begonnen hat, mit javascript nichts am Hut. Nur mit html. Also hab ich erstmal die html Seite erstellt und das fand der chef auch ganz gut. So dann musste ich mich ja erstmal mit javascript vertraut machen, sodass ich überhaupt erstmal verstehe was es bewirkt. Nur das Problem was ich lösen muss, darauf habe ich keine antwort gefunden.
Also hab ich erstmal herumprobiert mit einigen beispielen und hab dann auch mal selber probiert.
So da bin ich auf diesen Script gestoßen:
<script language="javascript">
function texterstellen()
{
document.write( "" +document.Maske.WKN.value+ ""
+document.Maske.Kurs.value+ ""
+document.Maske.Name.value+ ""
+document.Maske.Stueck.value+ ""
+document.Maske.Kategorie.value+ "")
document.close()
}
</script>
Das hat dan bewirkt, dass die Daten auf einer anderen Seite in spartanischer Form ausgegeben wurden, was ja natürlich nicht meine Aufgabe war.
Jetzt werden natürlich wieder einige sagen, dass das alles total billig ist, aber ich weiß nicht ob es auch für jemanden einfach sein soll, der sich noch nie zuvor mit javascript befasst hat.
Naja wenn nicht dann soll es nicht sein.
Danke trotzdem für die Hilfe.
MfG
Mahlzeit Jerry02,
Also hab ich erstmal die html Seite erstellt und das fand der chef auch ganz gut.
Das ist ja auch die Grundlage. Nur solltest Du Dir anschließend darüber klar werden, *was genau* Du eigentlich tun sollst/willst.
Du willst - wenn ich jetzt mal die erste Aufgabenstellung nehme - also eine neue Tabellenzeile in der existierenden Tabelle einfügen. Dafür musst Du erst einmal auf die Tabelle zugreifen können. Dafür wiederum gibt es in Javascript diverse Möglichkeiten - mache Dich damit vertraut.
Anschließend solltest Du Dich zum Thema "DOM" informieren und verstehen, worum es sich dabei handelt. Wenn das der Fall ist, wirst Du vermutlich wissen, dass sich irgendwo in Deiner Seite ein Tabellen-Objekt befindet, das keine, eine oder mehrere Tabellenzeilen-Objekte enthält. Genau dort musst Du ansetzen - indem Du ein neues Tabellenzeilen-Objekt erstellst, mit den aus den Formularelementen ausgelesenen Werten füllst und an der korrekten Stelle ins DOM einhängst.
Wenn Dir alle die genannten Begriffe nichts sagen (wovon ich ausgehe), dann beschäftige Dich mit den absoluten Grundlagen von Javascript und anschließend mit den Grundbegriffen der DOM-Manipulation - indem Du entsprechende Bücher liest, Tutorials durcharbeitest und die Suchmaschinen Deiner Wahl befragst. Und zwar solange, bis Du alles verstanden hast. Anschließend wird Dir bei konkreten Fragen hier im Forum immer gerne weitergeholfen.
So da bin ich auf diesen Script gestoßen:
Aha. Du hast also noch nicht wirklich verstanden, was Du tun sollst und wie Du das schaffen kannst, sondern hast gleich fertige Lösungen im Netz gesucht. Kleiner Tipp: *so* geht das definitiv *nicht*.
Jetzt werden natürlich wieder einige sagen, dass das alles total billig ist, aber ich weiß nicht ob es auch für jemanden einfach sein soll, der sich noch nie zuvor mit javascript befasst hat.
Sicher nicht. Aber das Aneignen von Grundlagen der verwendeten Technologie ist nicht nur Grundvoraussetzung hier im Forum, sondern bei Praktika jeglicher Art meistens ziemlich sinnvoll - schließlich machst Du das ja, um etwas zu lernen ... oder etwa nicht? :-)
MfG,
EKKi