submit automatisch nach prüfung
meinolf lutter
- javascript
- php
0 dedlfix0 Gunnar Bittersmann0 dedlfix
0 Der Martin0 MudGuard
Hallo ich sitze seit zwei Tagen an folgenden Problem.
Ein Javascript Kalender übergibt das angeklickte Datum an einen <html><form> Dieses muss dann Mittels submit bestätigt werden. Und geht dann an eine php Seite. Das funktioniert alles gut.
Ich möchte jetzt das submit nicht mehr anklicken müssen sondern sobald ein neues datum in <form> landet soll dieses automatisch an die php funktion geschickt werden.
<form method="post" id='myform'>
<input id='datum' type="hidden" size="17" name="Inhalt" required class="Inhalt" value="<?php echo $_POST['Inhalt']; ?>" >
<input type="submit" />
</form>
<?php
$ordner= "./".$_POST["Inhalt"];
?>
Meine erste Idee war das Submit in zeitabständen automatisch zu betätigen. habe ich auch was gefunden. Nur dann wird in den Zeitabständen die PHP Seite refreshd. Und das ist auch blöd.
<!-- alle 5 sek ein submit -->
<script type="text/javascript">
function Formular_absenden() {
document.getElementById('myform').submit() }
window.setTimeout('Formular_absenden()', 5000);
</script>
Was ich gelesen habe müsste so etwas mit ajax zu realisiern sein. Leider habe ich absolut keinen Plan wie. Vielleicht kann mir ja geholfen werden
Gruß Meinolf
Tach!
Ich möchte jetzt das submit nicht mehr anklicken müssen sondern sobald ein neues datum in <form> landet soll dieses automatisch an die php funktion geschickt werden.
Klingt so, als ob du dich in das onchange-Event auf dem Eingabefeld einklinken und dabei das Formular absenden möchtest.
<form method="post" id='myform'> <input id='datum' type="hidden" size="17" name="Inhalt" required class="Inhalt" value="<?php echo $_POST['Inhalt']; ?>" > <input type="submit" /> </form> <?php $ordner= "./".$_POST["Inhalt"];
Sieht so aus, als ob du den Kontextwechsel nicht beachtest und damit eine der häufigsten Sicherheitslücken im System hast.
Meine erste Idee war das Submit in zeitabständen automatisch zu betätigen. habe ich auch was gefunden.
Das klingt gans anders als dein Vorhaben. Was also möchtest du, ein zeitgesteuertes Absenden oder nach Änderungen?
Was ich gelesen habe müsste so etwas mit ajax zu realisiern sein. Leider habe ich absolut keinen Plan wie. Vielleicht kann mir ja geholfen werden
Ja, wobei konkret? Bei absolut keinem Plan ist die erste Handlung, sich Wissen zu verschaffen, indem man sich mit der grundlegenden Funktionsweise befasst. Dazu gibt es genügend Dokumentation.
dedlfix.
@@dedlfix
Sieht so aus, als ob du den Kontextwechsel nicht beachtest und damit eine der häufigsten Sicherheitslücken im System hast.
Hier wäre es wohl angebracht, nicht nur einen Artikel zu verlinken, den der Betreffende dann lesen kann oder auch nicht (in Anbetracht des Umfangs also eher nicht), sondern klipp und klar zu sagen:
echo $_POST['Inhalt'];
ist grundsätzlich falsch. Es muss echo htmlspecialchars($_POST['Inhalt']);
heißen. Begründung: sonst Sicherheitslücke; näheres im Wiki unter Kontextwechsel.
Meine erste Idee war das Submit in zeitabständen automatisch zu betätigen. habe ich auch was gefunden.
Das klingt gans anders als dein Vorhaben. Was also möchtest du, ein zeitgesteuertes Absenden oder nach Änderungen?
Falsche Frage. Nicht „Was also möchtest du“, sondern: Was ist sinnvoll, ein zeitgesteuertes Absenden oder nach Änderungen?
Antwort: letzteres.
LLAP 🖖
Tach!
Sieht so aus, als ob du den Kontextwechsel nicht beachtest und damit eine der häufigsten Sicherheitslücken im System hast.
Hier wäre es wohl angebracht, nicht nur einen Artikel zu verlinken, den der Betreffende dann lesen kann oder auch nicht (in Anbetracht des Umfangs also eher nicht), sondern klipp und klar zu sagen:
Der Umfang ergibt sich hauptsächlich daraus, dass er die verschiedenen Möglichkeiten beleuchtet, auf Kontextwechsel zu treffen und diese zu meistern. Das muss man nicht unbedingt alles lesen, aber der Anfang ist wichtig, um ein Verständnis für die Materie zu bekommen. Mir ist es wichtig, dass dieses Verständnis aufgebaut wird und nicht einfach nur ein "So muss man das machen".
Das klingt gans anders als dein Vorhaben. Was also möchtest du, ein zeitgesteuertes Absenden oder nach Änderungen?
Falsche Frage. Nicht „Was also möchtest du“, sondern: Was ist sinnvoll, ein zeitgesteuertes Absenden oder nach Änderungen?
Antwort: letzteres.
Da ich die Aufgabenstellung nicht kenne, sondern nur das was erzählt wird, tue ich mich schwer, eine Lösung als richtig oder falsch, sinnvoll oder nicht einzuordnen.
dedlfix.
@@dedlfix
Hier wäre es wohl angebracht, nicht nur einen Artikel zu verlinken, den der Betreffende dann lesen kann oder auch nicht (in Anbetracht des Umfangs also eher nicht), sondern klipp und klar zu sagen:
Der Umfang ergibt sich hauptsächlich daraus, dass er die verschiedenen Möglichkeiten beleuchtet, auf Kontextwechsel zu treffen und diese zu meistern.
Wäre es sinnvoll, den Artikel aufzuteilen? (Offene Frage. Vielleicht auch nicht.)
Das muss man nicht unbedingt alles lesen, aber der Anfang ist wichtig, um ein Verständnis für die Materie zu bekommen. Mir ist es wichtig, dass dieses Verständnis aufgebaut wird
Da bin ich im Prinzip bei dir.
und nicht einfach nur ein "So muss man das machen".
Deshalb schrub ich ja „Begründung: …“ hinterher.
Bei sicherheitskritischen Dingen wie diesem ist ein klares „So muss man das machen“ vielleicht doch besser als ein „Ich fang jetzt mal bei den Blumen und Bienen an“.
🌸🐝
Falsche Frage. Nicht „Was also möchtest du“, sondern: Was ist sinnvoll, ein zeitgesteuertes Absenden oder nach Änderungen?
Antwort: letzteres.
Da ich die Aufgabenstellung nicht kenne, sondern nur das was erzählt wird, tue ich mich schwer, eine Lösung als richtig oder falsch, sinnvoll oder nicht einzuordnen.
Aufgabenstellung war klar umrissen: „Ich möchte jetzt das submit nicht mehr anklicken müssen sondern sobald ein neues datum in <form> landet soll dieses automatisch an die php funktion geschickt werden.“
„Meine erste Idee war das Submit in zeitabständen automatisch zu betätigen“ war der Holzweg einer Lösung.
LLAP 🖖
Tach!
Der Umfang ergibt sich hauptsächlich daraus, dass er die verschiedenen Möglichkeiten beleuchtet, auf Kontextwechsel zu treffen und diese zu meistern.
Wäre es sinnvoll, den Artikel aufzuteilen? (Offene Frage. Vielleicht auch nicht.)
Der hat schon zwei Seiten. Auf weitere Seiten zu verteilen, macht die insgesamte Sachlage nicht weniger komplex. Durch die Überschriften ist er ja auch bereits aufgeteilt.
Aber wenn du da konkrete Ideen hast, lass hören.
dedlfix.
Moin,
Ich möchte jetzt das submit nicht mehr anklicken müssen sondern sobald ein neues datum in <form> landet soll dieses automatisch an die php funktion geschickt werden.
Klingt so, als ob du dich in das onchange-Event auf dem Eingabefeld einklinken und dabei das Formular absenden möchtest.
finde ich nicht. Klingt eher so, als sollte die Javascript-Funktion, die die Daten ins Formular einträgt, auch gleich dessen submit()-Methode aufrufen.
Schönen Sonntag noch,
Martin
Tach!
Klingt so, als ob du dich in das onchange-Event auf dem Eingabefeld einklinken und dabei das Formular absenden möchtest.
finde ich nicht. Klingt eher so, als sollte die Javascript-Funktion, die die Daten ins Formular einträgt, auch gleich dessen submit()-Methode aufrufen.
Ja, im Prinzip. Aber ich gehe mal davon aus, dass der "Javascript-Kalender" eine fertige Komponente ist und es deshalb nicht sonderlich sinnvoll ist, in dessen Code Ergänzungen vorzunehmen.
dedlfix.
Hallo und guten Morgen,
Klingt so, als ob du dich in das onchange-Event auf dem Eingabefeld einklinken und dabei das Formular absenden möchtest.
finde ich nicht. Klingt eher so, als sollte die Javascript-Funktion, die die Daten ins Formular einträgt, auch gleich dessen submit()-Methode aufrufen.
Ist es nicht sogar so, dass onChange gar nicht feuert, wenn der Wert per JavaScript "hinten rum" in das Feld eingetragen wird? MMn Da muss zumindest noch ein Focuswechsel stattfinden.
Grüße
TS
Hallo,
Klingt eher so, als sollte die Javascript-Funktion, die die Daten ins Formular einträgt, auch gleich dessen submit()-Methode aufrufen.
Ist es nicht sogar so, dass onChange gar nicht feuert, wenn der Wert per JavaScript "hinten rum" in das Feld eingetragen wird?
ja, das hatte ich auch diffus im Gedächtnis, und den Verdacht hat Andreas ja auch schon geäußert. Und sehr plausibel begründet.
MMn Da muss zumindest noch ein Focuswechsel stattfinden.
Ich glaube, auch das hilft nicht bei einer programmgesteuerten Änderung des Inhalts.
Ciao,
Martin
Hi,
Ich möchte jetzt das submit nicht mehr anklicken müssen sondern sobald ein neues datum in <form> landet soll dieses automatisch an die php funktion geschickt werden.
Klingt so, als ob du dich in das onchange-Event auf dem Eingabefeld einklinken und dabei das Formular absenden möchtest.
wird das change-Event denn ausgelöst, wenn die Änderung per Javascript (Stichwort: Javascript-Kalender) geschieht?
Meine Erfahrung ist eine andere - kann aber daran liegen, daß die Änderungen bei mir durch ein Greasemonkey-Script durchgeführt werden, nicht durch ein Script, das zur Seite gehört ...
cu,
Andreas a/k/a MudGuard
Tach!
Klingt so, als ob du dich in das onchange-Event auf dem Eingabefeld einklinken und dabei das Formular absenden möchtest.
wird das change-Event denn ausgelöst, wenn die Änderung per Javascript (Stichwort: Javascript-Kalender) geschieht?
Leider nicht. Und es scheint auch sonst kein Event zu geben, das bei Zuweisungen gefeuert wird.
Dann müsste man beim Javascript-Kalender nachschauen, ob der irgendwelche Events generiert oder Callbacks entgegennimmt, die bei Auswahl aufgerufen werden.
dedlfix.
Hi,
wird das change-Event denn ausgelöst, wenn die Änderung per Javascript (Stichwort: Javascript-Kalender) geschieht?
Leider nicht. Und es scheint auch sonst kein Event zu geben, das bei Zuweisungen gefeuert wird.
könnte aber auch gefährlich sein - im change-Handler wird der Inhalt geändert, was wieder das change-Event auslöst. Im zugehörigen Handler wird der Inhalt geändert, was wieder ... [ad absurdum]
cu,
Andreas a/k/a MudGuard
Hallo und guten Morgen,
wird das change-Event denn ausgelöst, wenn die Änderung per Javascript (Stichwort: Javascript-Kalender) geschieht?
Leider nicht. Und es scheint auch sonst kein Event zu geben, das bei Zuweisungen gefeuert wird.
Dann müsste man beim Javascript-Kalender nachschauen, ob der irgendwelche Events generiert oder Callbacks entgegennimmt, die bei Auswahl aufgerufen werden.
Das haben wir hier schon mal lang und ausführlich diskutiert im Zusammenhang mit verketteten Datalists. Mit der ersten wählt man die ID der zweiten aus, usw.
Grüße
TS
Tach!
Dann müsste man beim Javascript-Kalender nachschauen, ob der irgendwelche Events generiert oder Callbacks entgegennimmt, die bei Auswahl aufgerufen werden.
Das haben wir hier schon mal lang und ausführlich diskutiert im Zusammenhang mit verketteten Datalists. Mit der ersten wählt man die ID der zweiten aus, usw.
Bitte was? Welche "die erste"? Ich verstehe nicht, was das mit dem vorliegenden Fall zu tun hat.
dedlfix.
Hallo und guten Morgen,
Dann müsste man beim Javascript-Kalender nachschauen, ob der irgendwelche Events generiert oder Callbacks entgegennimmt, die bei Auswahl aufgerufen werden.
Das haben wir hier schon mal lang und ausführlich diskutiert im Zusammenhang mit verketteten Datalists. Mit der ersten wählt man die ID der zweiten aus, usw.
Bitte was? Welche "die erste"? Ich verstehe nicht, was das mit dem vorliegenden Fall zu tun hat.
Bist wohl noch nicht ausgeschlafen? Macht nix :-P.
Für Dich heute also nochmal in Pfennigen:
Wir haben das Thema "Welcher Event wird bei einer Änderung eines <input>-Feldinhaltes oder einer <select>-Liste, oder eines anderen Dialogelementes gefeuert, wenn die Änderung durch JavaScript und nicht durch den User stattfindet. Und Ausführlicher haben wir das diskutiert im Zusammenhang mit Datalists.
Vielleicht findet man den Thread noch im Archiv wieder. Ich kann hier leider nichts finden. Allerdings habe ich so vage im Gedächtnis, dass Gunnar damals noch eine Lösung gefunden hatte...
Grüße
TS
Hallo und guten Tag,
Erster Nachtrag:
Es gibt aber noch mehr dazu und mMn auch eine Lösung, die für den OP dann relevant sein sollte.
Grüße
TS
Tach!
Dann müsste man beim Javascript-Kalender nachschauen, ob der irgendwelche Events generiert oder Callbacks entgegennimmt, die bei Auswahl aufgerufen werden.
Das haben wir hier schon mal lang und ausführlich diskutiert im Zusammenhang mit verketteten Datalists. Mit der ersten wählt man die ID der zweiten aus, usw.
Bitte was? Welche "die erste"? Ich verstehe nicht, was das mit dem vorliegenden Fall zu tun hat.
Bist wohl noch nicht ausgeschlafen? Macht nix :-P.
Doch, aber du hast auf den falschen Satz geantwortet. Und das Thema Event im input war auch schon abgehakt, weil keins ausgelöst wird. Die einzige Change besteht wohl grad noch darin, dass der Kalender ein Event mitbringt. Und der hat dann kein Problem mit sich aufschaukelnden Change-Events. (Sollte jedenfalls nicht.)
dedlfix.
Hallo und guten Morgen,
wird das change-Event denn ausgelöst, wenn die Änderung per Javascript (Stichwort: Javascript-Kalender) geschieht?
Meine Erfahrung ist eine andere - kann aber daran liegen, daß die Änderungen bei mir durch ein Greasemonkey-Script durchgeführt werden, nicht durch ein Script, das zur Seite gehört ...
Du warst schneller, aber ich hatte es noch nicht gelesen. Das war nämlich auch meine Erfahrung...
Posting
Grüße
TS
ein bischen mehr habe ich schon verstanden. mir war nicht klar das ein Eintrag von einem Program nicht das gleiche ist wie eine händische Eingabe.
Wie erzeuge ich den einen "change event " ? in meinem kalender script ? und wie werte ich den nachher im <form> aus
gruß meinolf
Tach!
Wie erzeuge ich den einen "change event " ? in meinem kalender script ?
Da musst du mal in die Dokumentation deines Kalender-Scripts schauen.
und wie werte ich den nachher im <form> aus
Du sendest es nur ab. Mit seiner submit()-Methode.
dedlfix.
Hallo und guten Morgen,
Wie erzeuge ich den einen "change event " ? in meinem kalender script ? und wie werte ich den nachher im <form> aus
Das wurde Dir hier irgendwo im Thread (ich glaube, Martin war's) schon beantwortet. Die Handlung (Event), die für die Auswahl im Kalender sorgt, muss auch für die Übertragung der ausgewählten Daten ins Formular und für das Absenden sorgen. Das könnte ein "Return" im Feld mit dem Focus sein, oder aber ein Mausklick in das Feld.
Eine andere Möglichkeit haben wir hier bisher noch nicht wiederentdeckt. Wie Du schon richtig erkannt hast, ist eine Benutzeraktion auf jeden Fall notwendig, um einen passenden Trigger auszulösen.
Du müsstest Dir also eine kleine Funktion erstellen, die in der speziellen Kalendersicht immer ausgelöst wird, wenn die Auswahl stattgefunden hat.
Grüße
TS