2017-09-09 1 views
0

Ich habe einige Standardelemente in meinem Schema. Wenn Sie ein Formular mit leeren Eingaben senden, wendet Mongoose den Standardwert nicht an. Ich habe versucht, die Eingabe vor dem Senden auf false zu setzen, aber alles, was ich bekomme, ist falsch als Wert nach dem Absenden. Hier ist, wie ich es versucht habe:Leere Werte aus Formulareingaben entfernen

addPermitForm.addEventListener('submit', (e) => { 
    e.preventDefault; 
    addPermitInput.forEach((input) => { 
    if(input.value == '') input.value = false; 
    }); 
    e.target.submit(); 
}); 

Danke.

+1

Ist es nicht 'e.preventDefault()'? – ceejayoz

+1

Diese Frage hat zu diesem Zeitpunkt nichts mit irgendeinem Backend-Code oder einer Datenbank zu tun. Alles, was Sie gerade jetzt fragen, ist, wie Sie leere Eingabefelder in einem Formular entfernen können, damit sie nicht gesendet werden. Sie können das fragen, aber ich würde dringend von der Praxis abraten. Wenn Sie "defaults" erwarten, dann sollten diese dem Benutzer als erwartete Werte "im Formular selbst" präsentiert werden. Es ist wirklich eine schlechte Übung, Dinge hinter den Kulissen zu tun und den Benutzer nicht zu informieren. Wenn dies "zusätzliche Standardwerte" ist, sollten diese Felder nicht am Frontend angezeigt werden. –

+0

'input.value = false;' Eingabewerte sind Strings nicht boolean – zer00ne

Antwort

0

Ok, also habe ich einen Weg gefunden - ich entfernte den Namen Wert vor dem Senden an den Server.

addPermitForm.addEventListener('submit', (e) => { 
    e.preventDefault(); 
    addPermitInput.forEach((input) => { 
    if(input.value == '') input.name = ''; 
    }); 
    e.target.submit(); 
});