CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
HTML, CSS und JavaScript Help! Hier gibt es Hilfe zu HTML, CSS und JavaScript Problemen |
02.10.2009, 12:48:35
|
Anfänger
|
|
Registriert seit: Oct 2009
Alter: 43
Beiträge: 21
|
|
Submit Button Simulieren
Hi all,
... ja, ein Thema mit dem Namen gibt es schon, allerdings ist es etwas anderes, als ich möchte.
Gegeben ist eine Webapplikation mit rund 50MB Code, bestehend aus einer Menge HTML Formularen und PHP Scripten zur Verarbeitung.
Bsp. HTML:
HTML-Code:
<form name="testForm" onSubmit="submitAction1(); submitAction2();">
<input type="text" name="textFeld" value="<?php echo htmlentities($textFeldValue); ?>" onClick="return confirm('message');" />
<input type="submit" name="save" value="<?php echo htmlentities(l10n("save")); ?>" onClick="return confirm('message');" />
<input type="submit" name="delete" value="<?php echo htmlentities(l10n("delete")); ?>" onClick="return confirm('message');" />
<input type="submit" name="archive" value="<?php echo htmlentities(l10n("archive")); ?>" />
</form>
In PHP wird dann mittels $_POST["save"], $_POST["delete"], $_POST["archive"] unterschieden, was gemacht werden soll.
Jetzt das Problem:
Eine neue Anforderung ist, das der Confirm Dialog nicht allzuschnell weggeklickt werden können und daher eine zusätzliche Checkbox eingefügt werden soll. Zeitansatz 5h für alle Dialoge. ... Mit Confirm an sich nicht machbar, mit unseren Boardmitteln ein "popup div" gebaut, welche dem gewünschten aussehen nahe kommt, und die onClick Handler gegen die neue Funktion getauscht.
Dadurch, das es nun kein BuildIn Confirm mehr ist, muss die von mir erstellte Funktion immer FALSE zurück liefern, um das Abschicken initial zu unterbinden. Bei Bestätigung der Box wird dann mittels Callback das Ursprungsformular versand.
ABER: Durch das "return false" wird bei der Formular übertragung natürlich nicht mehr der Button, welcher geklickt wurde, mit übermittelt. Kann ich diesen "Button aktiviert" Status des Formulars irgendwie Simulieren? Aufgrund des aufwandes in HTML&PHP fällt ein neues Feld ala "formularAction" leider aus
Danke für Einfälle
Grüße
True
|
02.10.2009, 15:18:04
|
|
Member
|
|
Registriert seit: Feb 2002
Ort: Österreich / Wien
Alter: 44
Beiträge: 992
|
|
AW: Submit Button Simulieren
Hi trueleader
erstmal willkommen auf selfphp
wenn i di richtig verstanden hab, ist es so
das dein onclick ein "Div popup" macht, wo sich noch eine Checkbox drin is
wenn diese checkbox gesetzt ist und der Button gedrückt wird, soll das eigentliche formular abgesendet werden
genau da is das prob, richtig??
Gib dem eigentlichen Formular eine ID
dann kannst du mit einwenig JS dieses auch submiten, wenn das "Popup" erfolgreich war
Code:
function submit_this_form(form_id) {
var tag_elements = document.getElementsByTagName('form');
for (var i = 0; i < tag_elements.length; i++) {
var tag_element = tag_elements[i];
if (form_id == tag_element.id
) {
return tag_element.submit();
}
}
}
benötigt zum submit'en die id des formulars
Hoffe i hab alles richtig verstanden
|
02.10.2009, 16:00:03
|
Anfänger
|
|
Registriert seit: Oct 2009
Alter: 43
Beiträge: 21
|
|
AW: Submit Button Simulieren
Hi,
danke für die Begrüßung und die erste Antwort :)
dies ist leider nicht das Problem.
Das Popup was sich öffnet, hat sein eigenes Formular, welches mittels AJAX abgeschickt, von PHP validiert und daraufhin bei Fehler erneut angezeigt oder bei bestanden den JavaScript Callback Handler aufruft.
Der Callback schickt dann das eigentliche Hauptformular ähnlich wie von dir beschrieben ab und es kommt auch im PHP inklusive der Nutzer Eingaben an.
Aber die Information über den geklickten Button fehlt halt.
In dem von mir gepostetem Beispiel HTML würde mittels klick auf Speichern folgendes im PHP ankommen:
$_POST = array("textFeld" => "NUTZEREINGABE", "save" => "save");
Wenn ich das aus dem Popup mittels JavaScript form.submit() abschicke, dann erhalte ich nur:
$_POST = array("textFeld" => "NUTZEREINGABE");
Die Information über den Button ist verloren gegangen.
|
02.10.2009, 16:48:56
|
|
Member
|
|
Registriert seit: Feb 2002
Ort: Österreich / Wien
Alter: 44
Beiträge: 992
|
|
AW: Submit Button Simulieren
Hi @gain
dann lass die action über deinen Return vom AJAX setzten
in ein hidden field
|
02.10.2009, 17:15:12
|
Anfänger
|
|
Registriert seit: Oct 2009
Alter: 43
Beiträge: 21
|
|
AW: Submit Button Simulieren
Yop, das würde gehen, allerdings beachte bitte mein letzten satz im einleitenden Text ^^
Das würde hunderte von HTML Seiten betreffen (wobei ich den Teil noch von dem callback automatisch generieren lassen könnte) und entsprechend viele PHP Dateien, welche dann ja nicht mehr Abfragen ala "if (!empty($_POST["save"]))" sondern "if ($_POST["formAction"] == 'save')" machen müssten
Ich hatte eher gehofft, es würde eine einfache Möglichkeit geben, wie
"document.formName.buttonName = 1" oder "getElementsByName('buttonName').activate()"
|
02.10.2009, 17:21:18
|
|
Member
|
|
Registriert seit: Feb 2002
Ort: Österreich / Wien
Alter: 44
Beiträge: 992
|
|
AW: Submit Button Simulieren
Da du schon JS verwendest
kannst du auch ein Hiddenfield per JS in das Formular einbaun.
damit musst du ned so viel basteln
|
02.10.2009, 17:43:14
|
Anfänger
|
|
Registriert seit: Oct 2009
Alter: 43
Beiträge: 21
|
|
AW: Submit Button Simulieren
Ja, wie gesagt, den Teil könnte ich autom. generieren lassen, aber der Teil von PHP müsste ja händisch umgebaut werden
hm, oder funktioniert es, wenn ich ein hidden field mit gleichen Namen wie den Button erzeuge ... eigentlich dürfte das nicht Funktionieren, aber probieren kann mans ja mal. Hatte auch schon die Idee, gleichzeitig den Button einfach entfernen zu lassen, allerdings wäre der Button dann weg, wenn die Validierung der Daten fehlschlagen würde und der User das Formular Korrigieren muss
|
02.10.2009, 17:49:05
|
|
Member
|
|
Registriert seit: Feb 2002
Ort: Österreich / Wien
Alter: 44
Beiträge: 992
|
|
AW: Submit Button Simulieren
Hi
das würde gehn, wenn das Hidden-Field als letztes Element übermittelt wird
also vor dem </form>
|
06.10.2009, 18:36:55
|
Anfänger
|
|
Registriert seit: Oct 2009
Alter: 43
Beiträge: 21
|
|
AW: Submit Button Simulieren
Danke, funktioniert :)
der jeweilige CallbackHandler erzeugt ein HiddenField mit einem identischem Namen zum ursprünglich betätigtem Button und hängt das Feld dem Formular an.
Im PHP ist dann der gewünschte Parameter enthalten :)
|
07.10.2009, 09:17:39
|
|
Member
|
|
Registriert seit: Feb 2002
Ort: Österreich / Wien
Alter: 44
Beiträge: 992
|
|
AW: Submit Button Simulieren
Gratuliere
wie gesagt, hinten im formular is wichtig
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 13:56:34 Uhr.
|