2017-08-07 4 views
1

Mon code:Comment obtenir les valeurs de checkbox dans le noeud js en utilisant ejs?

Html fichier:

<form action="/form" method="post" enctype="multipart/form-data"> 
     Name: <input type="text" name="name" /><br> 
     Email: <input type="email" name="email" /> <br> 
     Age: <input type="number" name="age" /> <br> 
     Address: <textarea name="address" rows="10" cols="15"> </textarea><br> 
     Category: <select name="cat"> 
        <option value="1">Php</option> 
        <option value="2">NodeJs</option> 
        <option value="3">jQuery</option> 
       </select><br> 
     Gender: <input type="radio" name="gen" value="m"/> Male 
       <input type="radio" name="gen" value="f"/> Female 
     Hobby: <input type="checkbox" name="hob[]" value="cri"/> cricket 
       <input type="checkbox" name="hob[]" value="fot"/> football 
       <input type="checkbox" name="hob[]" value="swi"/> swimming 
    <input type="submit" value="Submit"> 
</form> 

Sortie de la console en NodeJS:

{ name: 'My name', 
    email: '[email protected]', 
    age: '23', 
    address: 'xyz loaacation pqr city ', 
    cat: '1', 
    gen: 'm', 
    'hob[]': 'cri' } 

J'utilise formidable pour le téléchargement de fichiers et il fournit des champs et options de fichiers. Maintenant, tous les champs ci-dessus me donnent une sortie correcte lorsque les données sont fournies sauf pour la case à cocher que je n'ai aucune idée de comment ou quoi faire pour obtenir la sortie.

pour obtenir la sortie ci-dessus je viens de taper ->console.log(fields);
et vous pouvez accéder à une propriété par ex: - fields.field_name. mais cela ne fonctionne pas pour les cases à cocher. Ce que je veux, c'est obtenir la valeur de la case à cocher à afficher à l'utilisateur. La case à cocher peut avoir plusieurs valeurs sélectionnées.

Merci.

Répondre

0

Vous pouvez y accéder avec la notation de parenthèse fields['hob[]'].

+0

Non, cela n'a pas fonctionné, il n'a montré que la dernière valeur qui a été sélectionnée. donc si je choisis le cricket et le football cela montre fot. Merci pour la tentative – Zaheen

+0

Eh bien, je reçois tableau de valeurs vérifiées lors de la sélection multiple. Mais je n'utilise pas multipart. Peut-être que c'est la différence. Dans le pire des cas, vous pouvez toujours utiliser des noms différents pour chaque case à cocher. –

+0

J'aime l'idée d'utiliser différents noms pour chaque case à cocher. Mais alors ce serait un gâchis si j'avais besoin de générer une case à cocher en fonction des valeurs de la base de données. mais je voudrais encore utiliser l'idée de différents noms. Merci – Zaheen