So verhindern Sie, dass ein Formular nur gesendet wird, wenn ein Fehler auftritt

Dec 05 2020

Ich versuche zu verhindern, dass das Formular nur gesendet wird, wenn ich einen Fehler erhalte

Ich habe diese Funktion mit meinem Formular onSubmit verknüpft

const submitHandler = async (e) => {
        e.preventDefault();
        try {
            const submitForm = await axios.post(
                "http://localhost:5000/users/register",
                info
            );
            setError("");
        } catch (error) {
            const err = error.response.data.msg;
            setError(err);
            // display the msg on screen
        }
    };

Im Moment habe ich e.preventDefault () oben, das das Formular stoppt und die Antwortnachricht anzeigt, aber ich möchte nur, dass dies passiert, wenn ein Fehler im "catch" aufgetreten ist.

Andernfalls möchte ich, dass es etwas anderes übermittelt und auf die Anmeldeseite umleitet

Antworten

M11CH Dec 05 2020 at 01:48

Im try-Block können Sie die .submit()Methode von jQuery mit der ID des Formulars verwenden:

$("#ID").submit();

Wenn Sie jQuery nicht verwenden, können Sie Vanilla JS verwenden:

document.getElementById("myForm").submit();