Hallo, Gast! (Registrieren)

Letzte Ankündigung: MyBB 1.8.38 veröffentlicht (30.04.24)


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste
Formular leeren
#1
Hallo liebe Community,

ich brauchte mal einen Gedankenschubs, da ich etwas verwirrt bin. Rolleyes

In meinem Plugin befindet sich ein Formular mit Textfeld und Optionsliste.
Beide Eingaben werden per Submit-Button in die Datenbank geschrieben - funktioniert alles perfekt.
Nach Submit bleibt allerdings das Formular immer mit den letzten Eingaben gefüllt.
Das ist prinzipiell nicht schlimm. Ich hätte aber lieber, dass das Textfeld geleert und die Optionsliste auf default-value zurückgesetzt wird.
Wo habe ich hier einen Denkfehler?
Ich mache nach Submit ein Redirect auf die gleiche Seite. Entsteht da evtl. das "Problem"?
Zitieren
#2
Grundsätzlich werden Formulare nach dem Absenden nicht befüllt. Wenn dies der Fall ist, wurde das wahrscheinlich entsprechend programmiert. Ohne Code kann ich da leider nicht weiterhelfen.
[Bild: banner.png]

Bitte die Foren-Regeln beachten und im Profil die verwendete MyBB-Version angeben.
Zitieren
#3
ganz blöde Idee: könnte das auch der dämliche Autofill des Browsers sein?
Zitieren
#4
Hmm Lu, gute Frage. Wie kann ich das denn testen? Rolleyes 

Ich mache ja eigentlich nichts Verrücktes. Hier ist das form:
Code:
<td class="trow2" align="center"><input type="text" name="zjob" value="{$mybb->user[\'zjob\']}" /></td>
            <td class="trow2" align="center">
                <select name="zjid">
                    <option value="">Betrieb auswählen</option>
                    {$zjobs_options_bit}
                </select>
            </td>
        </tr>
        <tr>
            <td class="trow2" colspan="2" align="center">
                <input type="hidden" name="action" value="join_zjob" />
                <input type="submit" value="{$lang->jobliste_zjoin}" name="join_zjobs" class="button" />
            </td>

Und hier verarbeite ich´s:
PHP-Code:
elseif($mybb->input['action'] == "join_zjob") {
        $new_record2 = array(
            "zjid" => (int)$mybb->get_input('zjid'),
            "zjob" => $db->escape_string($mybb->get_input('zjob').""."(NB)")
        );
        $db->update_query("users"$new_record2"uid = '$uid'");
        redirect("misc.php?action=jobliste""{$lang->jobliste_add_zjob}");
    
elseif steht in dem Fall, weil vorher noch andere Aktionen möglich sind.

Es ist nicht weiter schlimm, aber irgendwie stehe ich gerade auf der Leitung. Rolleyes
Zitieren
#5
Hat das Formular eine „action“? Ohne Code ist es schwer dies nachvollziehen zu können.

//edit: oh, der Code steht ja oben. Entweder ich bin blind oder sehe ich keine <form>
Zitieren
#6
Hi JAY  Wink

doch, der form-Tag ist natürlich da. Ich wollte nur nicht alles mit hier reinkopieren. Wink
Zitieren
#7
Bei meinen Formularen ist wahlweise gegeben, das beim Ausfüllen eines Eingabefeldes ein Cookie gesetzt wird oder nciht.

Vllt. hilft dieser Hinweis zu einer Lösungsfindung bei.
Sollte ich der Ansicht sein helfen zu können biete ich Hilfe(n) an!  ...ich bitte jedoch nicht darum helfen zu dürfen!
Tools [Unixzeit ⇔ Realzeit] ♦ [BOM-Finder] ♦ [SQL-Prefix-Changer] ♦ [USV-Rechner] ♦ [PlugIns]
Zitieren
#8
(06.02.2022, 12:49)Schnapsnase schrieb: Hi JAY  Wink

doch, der form-Tag ist natürlich da. Ich wollte nur nicht alles mit hier reinkopieren. Wink

Hmm, welche Methode hat die Form? POST oder GET?
Zitieren
#9
@JAY
Die Methode ist "Post".
Spielt das eine Rolle?

@Gerti
Was soll ich hier mit einem Cookie?
Das übersteigt meine Vorstellungskraft. Rolleyes
Zitieren
#10
@Schnapsnase welchen Browser nutzt du denn, ggf. auch mal mit einem anderen gegentesten und in die Einstellungen der Browser schauen
Zitieren


Möglicherweise verwandte Themen…
Thema Verfasser Antworten Ansichten Letzter Beitrag
  Cache leeren itsmeJAY 4 1.887 30.07.2019, 18:40
Letzter Beitrag: itsmeJAY