Onkel_Hägi Geschrieben 21. Juni 2005 Geschrieben 21. Juni 2005 Hallo Leute, ich schreibe gerade eine Seite in PHP, welche sehr viele (bisher zwischen 30 bis 40 ungefähr) Eingabefelder hat. Mein Problem ist nun folgendes. Bei einem Eingabenteil gibt es die Möglichkeit Zeilen hinzuzufügen, also dementsprechend noch 5 Eingabefelder dazu. Dazu lade ich die Seite neu und gebe einfach eine Zeile mehr aus. Mein Problem ist jetzt, wenn ich in den anderen Eingabefeldern bereits etwas eingetragen habe, sind diese Eingaben nach dem Klick auf den Button weg. Gibt es eine Möglichkeit die Seite "neu zu laden", ohne dass die Eingaben verschwinden? Danke schonmal.
etherius Geschrieben 21. Juni 2005 Geschrieben 21. Juni 2005 Also wenn ich das richtig verstanden habe, dann schickst du das formular zum hinzufügen von Feldern ab, richtig? Also musst du alle Feldvariablen die dir per Formular übergeben werden (s. $_POST & $_GET) dann in das value="" attribut deiner Eingabefelder reinschreiben. Weißt wie ich das meine? ^^ mfg Eth
perdian Geschrieben 21. Juni 2005 Geschrieben 21. Juni 2005 Natürlich gibt es einen Weg, wie sollten sonst die ganzen anderen Web-Formulare funktionieren?! Das HTML Input-Element besitzt das Attribut "value", mit dem du den Vorgabewert festlegen kannst: http://de.selfhtml.org/html/formulare/eingabe.htm
Onkel_Hägi Geschrieben 21. Juni 2005 Autor Geschrieben 21. Juni 2005 Klar, das verstehe ich schon. Aber ich habe da schon was drinstehen, für den Fall dass Sachen aus der Datenbank ausgelesen werden sollen... Kann ich in dem Input-Statement eine If-Abfrage reinsetzen?
Aiun Geschrieben 21. Juni 2005 Geschrieben 21. Juni 2005 du kannst für jedes Formularfeld eine If-Abfrage machen. if(isset($_GET['feld1']) $feld1 = $_GET['feld1']; else $feld1 = query(select...); weis nicht ob du JS "nicht" benutzen willst, aber ansonsten kannst du auch neue Felder mit Javascript hinzufügen. Vorrausgesetzt da wird kein Dynamischer Inhalt bei eingefügt. Wenn du mehr dazu wissen willst, gib bscheid.
perdian Geschrieben 21. Juni 2005 Geschrieben 21. Juni 2005 Kann ich in dem Input-Statement eine If-Abfrage reinsetzen?Nein, kannst du nicht. HTML ist "nur" eine Dokumentenbeschreibungssprache und dort gibt es keine Kontrollstrukturen. Aber du kannst bei der Generierung der HTML Seite beeinflussen, was überhaupt ausgegeben werden soll, und dort die Unterscheidung treffen, welcher Inhalt verwendet werden soll. Generell solltest du dich dringend intensiver in das Thema dynamische Webseitengenerierung, HTML und wie diese beiden Themen zusammenspielen einarbeiten.
Onkel_Hägi Geschrieben 21. Juni 2005 Autor Geschrieben 21. Juni 2005 Ich weiß schon wie das läuft. Ich meinte es ja auch so, dass ich quasi sag echo "<input name='xy' type='text' value='".if bla then bla else bla."'>"; ich geb ja die HTML-Codes mittels echo aus PHP aus. Und wenn ich da kurz ins PHP "springe" wieder, eine If-Abfrage mache, und dann wieder ins echo "springe", verstehst Du wie ich meine?
perdian Geschrieben 21. Juni 2005 Geschrieben 21. Juni 2005 ich geb ja die HTML-Codes mittels echo aus PHP aus. Und wenn ich da kurz ins PHP "springe" wieder, eine If-Abfrage mache, und dann wieder ins echo "springe", verstehst Du wie ich meine?Probier es doch einfach aus, dann wirst du ja sehen, was rauskommt
Onkel_Hägi Geschrieben 21. Juni 2005 Autor Geschrieben 21. Juni 2005 Ich dachte halt ich frag mal, bevor ich mich da jetzt ransetze und eventuell Zeit verschenke... :-) Aber ich werds mal versuchen.
firewalker... Geschrieben 21. Juni 2005 Geschrieben 21. Juni 2005 Das was er will kommt da raus. Natürlich kannst du die Values dynamisch per if-abfrage setzen. Mach ich schon lange.
perdian Geschrieben 21. Juni 2005 Geschrieben 21. Juni 2005 Ich dachte halt ich frag mal, bevor ich mich da jetzt ransetze und eventuell Zeit verschenke... :-)Ich wundere mich immer wieder, wieso man manchmal ewig ins Forum postet, wenn ein simples Ausprobieren in einem Bruchteil der Zeit zur Antwort führt - nun gut, das muss jeder selber wissen
Onkel_Hägi Geschrieben 21. Juni 2005 Autor Geschrieben 21. Juni 2005 Ich wundere mich immer wieder, wieso man manchmal ewig ins Forum postet, wenn ein simples Ausprobieren in einem Bruchteil der Zeit zur Antwort führt - nun gut, das muss jeder selber wissen Naja, kann man sich schon fragen... *g* Ich mach grad noch was anderes, von daher hatte das keine hohe Prio, drumn konnte ich nachfragen.
Aiun Geschrieben 22. Juni 2005 Geschrieben 22. Juni 2005 <html> <body> <script type="text/javascript"> var count = 0; function addInput(name) { count ++; frm = document.getElementById('frm1'); beschreibung = document.createTextNode('Inputfeld '+count); input = document.createElement('input'); input.type= 'text'; input.size = '20'; input.name = name + "_" + count; br = document.createElement('br'); frm.appendChild(input); frm.appendChild(beschreibung); frm.appendChild(br); } </script> <form method="post" id="frm1"> <button onclick="addInput('test');">AddInput test1</button><br/> </form> </body> </html> getestet im IE und Firefox
Onkel_Hägi Geschrieben 24. Juni 2005 Autor Geschrieben 24. Juni 2005 Funktioniert soweit, danke. Problem jetzt ist, dass er die neuen Felder ans Ende der Seite setzt... Gibt es eine Möglichkeit zu sagen, dass die Felder in eine bestehende Tabelle als neue Zeile mit eingefügt werden sollen?
Aiun Geschrieben 24. Juni 2005 Geschrieben 24. Juni 2005 "frm = document.getElementById('frm1');" ich adde in dem Code alle Elemente als Childs zu dem Forum. Wenn du stattdessen die Childs in eine Tabelle oder ein Div-Layer einfügst. kannst du genau bestimmen wo im Formular sie auftauchen.
Onkel_Hägi Geschrieben 27. Juni 2005 Autor Geschrieben 27. Juni 2005 "frm = document.getElementById('frm1');" ich adde in dem Code alle Elemente als Childs zu dem Forum. Wenn du stattdessen die Childs in eine Tabelle oder ein Div-Layer einfügst. kannst du genau bestimmen wo im Formular sie auftauchen. Sprich ich ändere einfach die ID der Form ab in die ID der Tabelle, oder wie? Irgendwie funktioniert das nicht... :-(
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden