Ajax et Post pour fichier .php
Bonjour,
Cela fait plusieurs jours (je peux même parler en semaine je crois) que je bloque sur un formulaire en ajax.
Le formulaire est présent dans une page qui elle même est appelée en ajax, je ne peux donc pas utiliser un code du type ci dessous :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| $(document).ready(function(){
$("#form_video").submit(function(){
$.ajax({type:"POST", data: $(this).serialize(), url:"inc/ajout_video.php",
success: function(data){
$("div#ajout_video").html(data);
},
error: function(){
$("div#ajout_video").html('Une erreur est survenue.');
}
});
return false;
});
}); |
Du coup j'ai modifié mon formulaire de la façon suivante :
Code:
1 2 3 4 5 6 7
| <form id="form_video" method="post">
<p>Je propose une vidéo pour ce spot (copier/coller l'URL de Youtube, Viméo, Zapiks ou Dailymotion) :<br><span class="remarque">Exemple : https://www.youtube.com/watch?v=9RHS68rspb0</span></p>
<input type="text" name="lien_video" id="lien_video" size="38" maxlength="200" />
<input type="hidden" name="id_circuit" id="id_circuit" value="<?php echo $id_circuit; ?>" />
<input type="submit" value="Proposer" onclick="ajout_video()" class="button" />
</form> |
Mon script ajax :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23
| function ajout_video() {
$.ajax({
type: "POST",
url: "inc/ajout_video.php",
data: {
lien_video : $("#lien_video").val(),
id_circuit : $("#id_circuit").val()
},
success: function(data){
$("div#ajout_video").html("<div class='zone_ok'>Merci pour ta participation, la vidéo sera vérifiée au plus vite.</div>");
},
error: function(){
$("div#ajout_video").html("<div class='zone_erreur'>Erreur !<br />Soit le champs est vide, soit le lien est mauvais.</div>");
}
})
.done(function( msg ) {
alert( "Data Saved: " + msg );
});
return false; // ne change pas de page
} |
Et le fichier tout bête de .php que je modifierai par la suite :
Code:
1 2 3 4 5 6 7 8 9
| $lien_video = $_POST['lien_video'];
$id_circuit = $_POST['id_circuit'];
if( isset($lien_video) && isset($id_circuit) && $lien_video == 12){
echo "Success if";
}
else{
echo "Error";
} |
Deux erreurs :
Quoi que j'écrive dans lien_video, je me retrouve toujours avec le message : Merci pour ta participation, la vidéo sera vérifiée au plus vite. Même si j'écris autre chose que "12" dans le champs en question ? Et pourtant en msg alert j'ai Error qui s'affiche !?
Deuxième problème, la page se recharge quoi qu'il se passe !?
J'ai pourtant bien ajouté : return false; et sur mes 10000 tests j'avais aussi utilisé preventDefault(); mais apparement pas de la bonne façon.
J'ai plus de cheveux, j'ai mon écran fissuré et je suis prêt a sauter de la fenêtre ... (du rdc) ... histoire de dire que je bloque vraiment ...
Si une âme charitable voit une solution, je suis preneur !
Un grand merci d'avance