Bonjour,
Si vous avez des pistes pour envoyer les données d'un formulaire modal à la base de donnée en Node js. merci d'avance. je vous mets un partie du code.
Je ne vois pas comment l'ecrire dans la route vu que j'ai genre un bouton avec href="#modal" (qui renvoie à ce formulaire sur la même page).
div.col-md-3.form-box-login(class="remodal" data-remodal-id="modal" style="width:100%")
h3 DEVIS
div
form(class="form-default" role="form" action="" method="POST")
div
label() Mission:
input(type="text" name="mission" disabled value=demand.dmd_title)
div
label() Référence:
input(type="text" name="reference" disabled value=demand._id placeholder="Référence Mission")
div
label() Nature :
input(type="text" name="nature" placeholder="Nature")
div
label() Objet :
input(type="text" name="objet" placeholder="Objet")
div
label() Date de début :
input(type="text" name="date_db" value=demand.dmd_desired_start_date placeholder="AAAA-MM-JJ")
div
label() Date de fin :
input(type="text" name="date_fn" value=demand.dmd_desired_end_date placeholder="AAAA-MM-JJ")
div
label() Emis par (Le nom et prénom du consultant) :
input(type="text" name="Nom" value=user.name)
div
label() Tarif unitaire (hors taxe en €) :
input(type="text" id="tf_u" name="tf_u" placeholder="Prix proposé")
div
label() Quantité (choisir l'unité):
br/
br/
div.col
label.control.radio-control Jour(s)
input(type="radio" value="Jour" name="unit" )
div.control-indicator
br/
label.control.radio-control Heure(s)
input(type="radio" value="Heure" name="unit" )
div.control-indicator
br/
label.control.radio-control Mois
input(type="radio" value="Mois" name="unit" )
div.control-indicator
br/
select(id="quantity" name="quantity")
option(value="0") 0
option(value="1") 1
option(value="2") 2
option(value="3") 3
option(value="4") 4
option(value="5") 5
option(value="6") 6
option(value="7") 7
option(value="8") 8
option(value="9") 9
option(value="10") 10
option(value="11") 11
option(value="12") 12
div
label() TOTAL TTC (en €) :
input(type="text" id="total" name="total" disabled value="")
div
input(type="hidden" name="devis_authr" value=user._id)
div
input(type="submit" class="submit-btn" value="Soumettre")
Merci
un route POST c'est pour envoyé des data de ton client vers ton server, mais ce ne sont pas des routes qui sont accessible depuis le navigateur. Le navigateur n'effectura que du get pour rendre les vues. Donc dans ton server node tu créer ta route en post avec ton controller un peut de ce type:
route.post("/demand/:id_demand", funciton(req, res){
const data = res.body;
// ici ton traitement avec tes données
});
et dans ton formulaire:
<form action="url/du/server" method="post">
<!-- tes inputs -->
</form>
ben en rajoutant un bouton dans ta modal et en l'entourant d'une balise form. je ne voit pas trop le probleme la. peut etre que j'ai pas bien saisie ta question.
En gros pour envoyer ou enregistrer dans base de donnée j'dois faire quelque chose du type "route.post("/demand/:id_demand", controller.blabla)"
mais quand j'appuie pour afficher le formulaire modal sur l'url j'ai "/demand/id_demand#modal" vu que j'ai mis href="#modal" dans le bouton. pour le chemin dans route.post je ne sais pas comment le decrarer!
Merci
ben dans ton formulaire, tu fait un action avec l'url d'appel et un bouton submit. ca n'a aucun rapport avec le #modal dans l'url.
tu sais ce que c'est une route post get put ou delete? parceque la apparament il y a de grosse lacune au niveau http
Pas url, chemin** pardon. la route c'est celle qui redirige les requetes vers une fonction du controlleur non? Get c'est pour recupérer les ressources qui permet d'afficher la page, Post c'est un peut comme Get mais je pense il peut recuperer les données d'un formulaire par exemple, et Delete va supprimer une ressource sur le serveur. Corrige moi si j'ai faux merci