Bonjour tout le monde, Pour faire simple et afin que ca soit plu
Aaymeric
Messages postés
78
Date d'inscription
Statut
Membre
Dernière intervention
-
Aaymeric Messages postés 78 Date d'inscription Statut Membre Dernière intervention -
Aaymeric Messages postés 78 Date d'inscription Statut Membre Dernière intervention -
Bonjour tout le monde,
Pour faire simple et afin que ca soit plus compréhensible je vais un peu changer la situation de mon problème mais la solution est semblable.
Dans un formulaire j'ai plusieurs listes déroulantes en HTML et une fonction javascript va regrouper et renvoyer en une valeur les choix des listes. Sur cette page, j'ai un bouton qui, lorsque je clique dessus, il m'affiche la valeur renvoyée par la fonction javascript via une alert.
Ce que je souhaiterais faire, c'est supprimer ce bouton (facile) mais via un submit (qui me redirige vers une page verifobjet.php) c'est récupérer la valeur envoyé par le code javascript et pouvoir la traitée et la mettre dans une variable php.
Quand je dis que la fonction renvoie la valeur c'est via un onclick:
Code JS:
Suis-je obligé de passer par de l'ajax ?
Si non, pourriez vous m'aider à trouver une solution sans passer par les name des listes déroulantes ? Merci
Pour faire simple et afin que ca soit plus compréhensible je vais un peu changer la situation de mon problème mais la solution est semblable.
Dans un formulaire j'ai plusieurs listes déroulantes en HTML et une fonction javascript va regrouper et renvoyer en une valeur les choix des listes. Sur cette page, j'ai un bouton qui, lorsque je clique dessus, il m'affiche la valeur renvoyée par la fonction javascript via une alert.
Ce que je souhaiterais faire, c'est supprimer ce bouton (facile) mais via un submit (qui me redirige vers une page verifobjet.php) c'est récupérer la valeur envoyé par le code javascript et pouvoir la traitée et la mettre dans une variable php.
Quand je dis que la fonction renvoie la valeur c'est via un onclick:
onclick="goListGroup(document.listmenu0.firstlevel, document.listmenu0.secondlevel, document.listmenu0.thirdlevel)"
Code JS:
var onclickaction="alert" function goListGroup(){ for (i=arguments.length-1;i>=0; i--){ if (arguments[i].selectedIndex!=-1){ var selectedOptionvalue=arguments[i].options[arguments[i].selectedIndex].value if (selectedOptionvalue!=""){ if (onclickaction=="alert") alert(selectedOptionvalue) else if (newwindow==1) window.open(selectedOptionvalue) else window.location=selectedOptionvalue break } } } }
Suis-je obligé de passer par de l'ajax ?
Si non, pourriez vous m'aider à trouver une solution sans passer par les name des listes déroulantes ? Merci
A voir également:
- Bonjour tout le monde, Pour faire simple et afin que ca soit plu
- Iphone 14 simple - Guide
- Simple pdf - Télécharger - PDF
- Simple ocr - Télécharger - Bureautique
- Simple file locker - Télécharger - Sécurité
- Tout le monde ne peut pas envoyer un message à ce compte - Forum Instagram
4 réponses
Salut,
Un formulaire HTML a plusieurs attributs impotants(balise FORM).
method=
indique le type denvoi soit POST soit GET.
POST pour envoyer à une autre page, GET pour envoyer dans la même page en rechargeant celle ci.
action=
indique la page(url) à laquelle sont envoyées les données du formulaire.
Donc si vous voulez envoyer vos données à une page PHP pour traiter celle ci il faut écrire:
<form method="POST" action="verifobjet.php">
Si vous rajoutez une vérification des champs en javascript celui ci va n'envoyer les informations seulement si celles ci correspondent à vos critères.
Pour valider l'envoi en js il y a la fonction submit() comme ceci:
http://www.w3schools.com/jsref/met_form_submit.asp
Un formulaire HTML a plusieurs attributs impotants(balise FORM).
method=
indique le type denvoi soit POST soit GET.
POST pour envoyer à une autre page, GET pour envoyer dans la même page en rechargeant celle ci.
action=
indique la page(url) à laquelle sont envoyées les données du formulaire.
Donc si vous voulez envoyer vos données à une page PHP pour traiter celle ci il faut écrire:
<form method="POST" action="verifobjet.php">
Si vous rajoutez une vérification des champs en javascript celui ci va n'envoyer les informations seulement si celles ci correspondent à vos critères.
Pour valider l'envoi en js il y a la fonction submit() comme ceci:
http://www.w3schools.com/jsref/met_form_submit.asp
J'ai bien compris le fonctionnement des formulaires mais je souhaite je souhaite récupérer une variable js qui est générée avant que je clique sur le bouton submit. Ce que je souhaite faire c'est faire passer la variable js selectedOptionvalue à ma page verifobj.php mais je suis completement perdu et je n'arrive pas à grand chose :s
J'ai quand même essayé en ajax mais je ne comprends pas pourquoi ca ne fonctionne pas.
Mon code
et dans test.php
J'ai un message d'erreur car il ne repère pas la variable mavariable1
Mon code
function goListGroup(){ for (i=arguments.length-1;i>=0; i--){ if (arguments[i].selectedIndex!=-1){ var selectedOptionvalue=arguments[i].options[arguments[i].selectedIndex].value if (selectedOptionvalue!=""){ if (onclickaction=="alert") alert(selectedOptionvalue) else if (newwindow==1) window.open(selectedOptionvalue) else window.location=selectedOptionvalue break } } } $.ajax({ url : '../objet/test.php', type : 'POST', data : 'mavariable1=' + selectedOptionvalue, }); }
et dans test.php
<?php
include '../connection.php';
$mavariable2=$_POST['mavariable1'];
echo $mavariable2;
?>
J'ai un message d'erreur car il ne repère pas la variable mavariable1
j'ai également essayé avec ceci mais $_POST['mavariable1'] n'est toujours pas détectée
Vous pouvez m'aider ?
var xhr = new XMLHttpRequest();
xhr.open("POST", "../objet/test.php", true);
xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xhr.send("mavariable1=" + escape(selectedOptionvalue));
Vous pouvez m'aider ?