Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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.

Geschrieben

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

Geschrieben

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?

Geschrieben

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.

Geschrieben
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.

Geschrieben

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?

Geschrieben
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 :)
Geschrieben
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 :)
Geschrieben
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.

Geschrieben


<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

Geschrieben

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?

Geschrieben

"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.

Geschrieben
"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... :-(

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 erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...