Envoi automatique sans submit via php

BtyBle Messages postés 9 Date d'inscription   Statut Membre Dernière intervention   -  
 Utilisateur anonyme -
Bonjour,

Alors vraiment besoin d'aide car je rame !! svp

Ci joint vous trouvez la synthaxe de mon script qui permet que lorsque un utilisateur accepte d’être localiser via sont navigateur les champs du formulaire se remplisse automatiquement.

<!doctype html> 
<html lang="fr"> 
<head> 
<meta charset="uth-8"> 
<title>HTML5 : Géolocalisation</title> 
</head> 
<body> 

 
<script> 
function maPosition(position) { 

document.getElementById('latitude').value=position.coords.latitude  ;
document.getElementById('longitude').value=position.coords.longitude  ;
document.getElementById('altitude').value=position.coords.altitude  ;
} 
if(navigator.geolocation) 
navigator.geolocation.getCurrentPosition(maPosition); 
</script>

<form name="form1" method="post" action="sendmail.php">
<input type="text"  name="latitude" id="latitude"> 
<input type="text"  name="longitude" id="longitude"> 
<input type="text"  name="altitude" id="altitude"> 
<input type="submit" name="envoi" id="envoi" value="Envoyer">
</form>

    <?php
if( isset($_POST['envoi']) ) 
{
echo $_POST['latitude'];
echo  $_POST['longitude'];
echo  $_POST['altitude'];
}

?>
</body> 
</html> 


Ensuite lorsqu'il clic sur "envoyer" le formulaire est envoyer vers une deuxième page "sendmail.php" avec un script php qui permet de m'envoyer les données automatiquement par mail. Et ensuite l'utilisateur est redirigé vers une autre page automatiquement

Voici la synthaxe "sendmail.php" :


<?php
$TO = "mon-adresse@mail.com";

$h = "From: " . $TO;

$message = "Geolocaliser ok";

while (list($key, $val) = each($_POST)) {
$message .= "$key : $val\n";
}

mail($TO, $subject, $message, $h);

Header("Location: http://www.lien-de-redirection.com");

?>



Maintenant tout fonctionne sauf que je voudrai supprimer la fonction submit pour que le formulaire soit envoyer automatiquement lorsque le formulaire est rempli

((sachant que en fonction de la connexion internet la géolocalisation peut mettre du temps)) donc je ne voudrai pas que le formulaire soit envoyer vide.

Pourriez vous m'aider afin de trouver une solution a intégrer dans tout ça ??




EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.
A voir également:

3 réponses

Utilisateur anonyme
 
Bonjour

Il suffit de demander à javascript de faire le submit quand le formulaire est rempli, c'est à dire à la fin de ta fonction maPosition :
document.getElementById('monform').submit();

sans oublier d'ajouter l'id 'monform' à ton formulaire pour que javascript sache le retrouver.
https://www.w3schools.com/jsref/met_form_submit.asp
2
BtyBle Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
Salut le père.

Je visualiser ce que tu me dis mais je n'arrive pas a le mettre en application.

Que dois-je mettre a la place de "monforme" ? quelle id ?

Du coup je suprime la ligne :

 <input type="submit" name="envoi" id="envoi" value="Envoyer"> 


et que faire de la ligne :

 if( isset($_POST['envoi']) )  



et de la fonction :
 <form name="form1" method="post" action="sendmail.php"> 
0
BtyBle Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
Je ne parviens pas à le faire. J'aurais vraiment besoin d'explication. Si vous voulez bien m'aider :( svp
0
Utilisateur anonyme
 
Que dois-je mettre a la place de "monforme" ?
Je n'ai jamais dit de mettre quelque chose à la place de "monforme".

La ligne if( isset($_POST['envoi']) ) et tout le php dans ton formulaire ne servaient à rien, tu peux les supprimer.

quelle id ?
J'ai écrit : l'id 'monform'. C'est grâce à cet id que getElementById('monform') va retrouver le formulaire. Il faut le mettre dans la balise form, comme les autres id que tu as mis dans tes input pour identifier les champs latitude, longitude, etc
0
BtyBle Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
Ça marche à merveille :) merci beaucoup
0
Utilisateur anonyme > BtyBle Messages postés 9 Date d'inscription   Statut Membre Dernière intervention  
 
De rien :-)
0