Vider un champ text
Résolu/Fermé
rolly41
Messages postés
244
Date d'inscription
dimanche 16 novembre 2008
Statut
Membre
Dernière intervention
5 novembre 2024
-
Modifié le 13 juin 2017 à 21:13
rolly41 Messages postés 244 Date d'inscription dimanche 16 novembre 2008 Statut Membre Dernière intervention 5 novembre 2024 - 13 juin 2017 à 21:46
rolly41 Messages postés 244 Date d'inscription dimanche 16 novembre 2008 Statut Membre Dernière intervention 5 novembre 2024 - 13 juin 2017 à 21:46
A voir également:
- Vider input javascript
- Telecharger javascript - Télécharger - Langages
- Vider les cookies - Guide
- Vider le cache d'une application - Guide
- Vider la corbeille - Guide
- Input signal not found ✓ - Forum Matériel & Système
2 réponses
jordane45
Messages postés
38289
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 novembre 2024
4 703
13 juin 2017 à 21:33
13 juin 2017 à 21:33
Il suffit d'appeller ta fonction à la fin du script d'envoie
Donc retire le onclick que tu as mis ....
et remplaces ton code js par :
Donc retire le onclick que tu as mis ....
et remplaces ton code js par :
$('#envoyer').click(function(e) { e.preventDefault(); var url="./include/ajax-shoutbox.php"; var pseudo = $('#pseudo_expediteur').val();//pseudo de l'expediteur var message = $('#message_expediteur').val();//message envoyé var idsalon = $('#idsalon').val();//id du salon var id_expediteur = $('#id_expediteur').val();//id de l'expediteur var timer = new Date(); //création variable timer var annee = timer.getFullYear(); var mois = timer.getMonth()+1; var jour = timer.getDate(); var hrs = timer.getHours(); var mins = timer.getMinutes(); var secs = timer.getSeconds(); var heure = ((hrs<10)?"0":"")+hrs; var minute = ((mins<10)?"0":"")+mins; var seconde = ((secs<10)?"0":"")+secs; var date = jour+"/"+mois+"/"+annee; var time = heure+":"+minute+":"+seconde; if(message != "") // on vérifie que la variable n'est pas vides { $.post(url,{action:"addMessage",message:message},function(data){ },"json"); $('#messages').append("[" + time + "] " + pseudo + " : " + message + "<hr />"); element = document.getElementById('defillement'); element.scrollTop = element.scrollHeight; reinit(); return false; } else { alert('Votre message est vide'); } }); function reinit() { document.getElementsByName("message")[0].value = ""; }
jordane45
Messages postés
38289
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
17 novembre 2024
4 703
13 juin 2017 à 21:12
13 juin 2017 à 21:12
Bonjour
Comment envoies tu les données dans la bdd ?
Comment envoies tu les données dans la bdd ?
rolly41
Messages postés
244
Date d'inscription
dimanche 16 novembre 2008
Statut
Membre
Dernière intervention
5 novembre 2024
1
Modifié le 13 juin 2017 à 21:22
Modifié le 13 juin 2017 à 21:22
La page shoutbox.php appel ce script (shoutbox.js) :
Quand je clique sur "Envoyer", le scrip me dit : "Votre message est vide". Chose qu'il ne me disait pas avant la fonction reinit. Du coup, il n’envoie pas le formulaire à la page de traitement php qui elle doit enregistrer les informations dans la base de données.
Page de traitement pour enregistrer les informations dans la base de données (ajax-shoutbox.php):
$('#envoyer').click(function(e)
{
e.preventDefault();
var url="./include/ajax-shoutbox.php";
var pseudo = $('#pseudo_expediteur').val();//pseudo de l'expediteur
var message = $('#message_expediteur').val();//message envoyé
var idsalon = $('#idsalon').val();//id du salon
var id_expediteur = $('#id_expediteur').val();//id de l'expediteur
var timer = new Date(); //création variable timer
var annee = timer.getFullYear();
var mois = timer.getMonth()+1;
var jour = timer.getDate();
var hrs = timer.getHours();
var mins = timer.getMinutes();
var secs = timer.getSeconds();
var heure = ((hrs<10)?"0":"")+hrs;
var minute = ((mins<10)?"0":"")+mins;
var seconde = ((secs<10)?"0":"")+secs;
var date = jour+"/"+mois+"/"+annee;
var time = heure+":"+minute+":"+seconde;
if(message != "") // on vérifie que la variable n'est pas vides
{
$.post(url,{action:"addMessage",message:message},function(data){
},"json");
$('#messages').append("[" + time + "] " + pseudo + " : " + message + "<hr />");
element = document.getElementById('defillement');
element.scrollTop = element.scrollHeight;
return false;
}
else
{
alert('Votre message est vide');
}
});
function reinit()
{
document.getElementsByName("message")[0].value = "";
}
Quand je clique sur "Envoyer", le scrip me dit : "Votre message est vide". Chose qu'il ne me disait pas avant la fonction reinit. Du coup, il n’envoie pas le formulaire à la page de traitement php qui elle doit enregistrer les informations dans la base de données.
Page de traitement pour enregistrer les informations dans la base de données (ajax-shoutbox.php):
<?php
session_start();
require ("connect-bdd.php");
$d=array();
if($_POST['action']=="addMessage")
{
$d["erreur"]='connecté';
extract($_POST);
$message=mysql_escape_string($message);
//Permet l'ajout d'un message
if($_POST['action']=="addMessage")
{
$d["erreur"]='formulaire trouvé';
$pseudo_expediteur=$_SESSION['pseudo_expediteur'];
$date= date("j/n/Y");
$time= date("H:i:s");
$id_expediteur=$_SESSION['id'];
$id_salon=$_SESSION['salon'];
$requete = $bdd->prepare("INSERT INTO shoutbox_msg (id_expediteur, time_msg, date_msg, msg, id_salon) VALUES (?,?,?,?,?)");
$requete->bindParam(1, $id_expediteur);
$requete->bindParam(2, $time);
$requete->bindParam(3, $date);
$requete->bindParam(4, $message);
$requete->bindParam(5, $id_salon);
$requete->execute();
if($requete)
{
$d=["erreur"]='Votre message a bien été enregistré';
}
else
{
$d["erreur"]='Impossible d\'enregistrer votre message';
}
}
else
{
$d["erreur"]='Aucun formulaire reçu';
}
}
else
{
$d["erreur"]='Merci de vous connecter avant de discuter';
}
echo json_encode($d);
?>
13 juin 2017 à 21:33
13 juin 2017 à 21:46
Effectivement, ta fonction reinit est beaucoup plus propre que la mienne pour mon code et plus facile :) il serait temps pour moi de faire une pause je crois xD
Merci beaucoup pour ton aide, une aide vraiment au top :)