Knoten-Express-Jade - Checkbox boolean Wert
Ich bin mit Knoten+Express+Jade, machen einige Webseiten. Auf einem Formular gibt es 2 Checkboxen. Wenn das Formular abgeschickt wird durch die POST, wenn das Kontrollkästchen aktiviert ist, bekomme ich req.body.checkbox1 -> 'on'
, wenn nicht geprüft, ich bekomme req.body.checkbox1 -> undefined
Ist möglich, checkbox Wert als true
oder false
?
Hier ist meine server-side-test-code
var bodyParser = require('body-parser');
var express = require('express');
var app = express();
app.use(bodyParser.urlencoded({extended: true}));
app.use(express.static(__dirname + '/webroot'));
app.set('views', __dirname + '/view');
app.set('view engine', 'jade');
app.listen(3001);
app.get('/', function (req, res) {
res.render('test');
});
app.post('/config', function (req, res) {
console.log(req.body.t);
console.log(req.body.f);
res.redirect('/');
});
Und meine Jade-form test
form(action='/config', method='post')
input(type="checkbox", name="not_checked", checked=false)
input(type="checkbox", name="checked", checked=true)
input(type='submit')
InformationsquelleAutor Matheus Vellone | 2015-08-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie versuchen, die folgende form jade
Ist der Wert der Zeichenfolge, so dass Sie haben, zu analysieren. Wenn die checkbox nicht checked-Attribut, dann wäre es nicht in der post-request-body. So in der oben genannten form, nur die aktivierten checkbox wird gesendet, siehe unten.
Wenn Sie beide Kästchen ankreuzen, dann werden beide Werte werden gesendet, wie unten
Können Sie auch hinzufügen, die überprüfung von undefined, wenn kein Kästchen angekreuzt ist
InformationsquelleAutor Raf
Ich arbeiten war durch die erst kürzlich für ein Projekt...
Hier ist das Formular :
dann in den Knoten javascript-Sie können gefunden werden, durch die req.Körper.Namen der einzelnen.
req.Körper.name return 'auf' wenn Sie eine der Boxen, wenn überprüft. wenn ein Feld nicht markiert, Sie sind undefiniert.
so ein ternärer Anweisung kann verwendet werden, um ein neues Objekt erstellen und speichern Sie Sie auf einem db als booleschen Wert.
Hoffe, dies hilft jemand anderes zusammen kommen. Ich war glücklich sobald ich es herausgefunden
first: !!req.body[1]
und so weiter. Mit einem logischen not-operator erhalten wir das Gegenteil boolean ist der Wert des Ausdrucks und mit der anderen kehren wir zurück. Das Ergebnis ist das gleiche wie der code in die Antwort.InformationsquelleAutor egervais7
Habe ich treffen heute dieses problem und eine Lösung habe ich mehr sauber (für mich):
Ich verstehe nicht, die eigentliche Frage ist: "Wie bekommt man einen boolean-Wert aus Kontrollkästchen auf Knoten/Express", so meine Antwort ist richtig Nein ? Wenn Sie glaube nicht, juste dont.
Super Antwort, es funktioniert ganz gut.
InformationsquelleAutor A. Moynet