Script ajax qui ne fonctionne pas avec une écran smartphone
Bonjour,
Un ami me demande de l'aider pour un problème, mais je ne trouve pas la solution.
Il a un site : http://tresorsdasie.net/index.php
Sur un écran normal, ça fonctionne bien, sur un smartphone, quand on clique sur une autre langue (par exemple FR), il obtient ce message :
Citation:
Notice: Undefined index: langue in /home/tresorsdbl/www/php/changer_langue.php on line 6
J'ai remarqué que le script ne s'exécute pas, l'url me montre : au lieu de l'exécuter.
EDIT : le problème viendrait d'ici :
Code:
1 2 3 4 5 6 7 8
| <form class="navbar-form navbar-right hidden-xs" role="search">
<div class="form-group">
<form action="php/changer_langue.php" method="post">
<input class=" btn btn-default" type="button" id="btn_fr" name="fr" value="FR">
<input class="btn btn-default" type="button" name="de" id="btn_de" value="DE">
</form>
</div>
</form> |
Il semblerait que bootstrap utilise le form du dessus et en écran normal, le form intérieur. J'ai essayé de fusionner comme ceci, mais sans succès :
Code:
1 2 3 4 5 6 7 8
| <form action="php/changer_langue.php" method="post" class="navbar-form navbar-right hidden-xs" role="search">
<div class="form-group">
<input class=" btn btn-default" type="button" id="btn_fr" name="fr" value="FR">
<input class="btn btn-default" type="button" name="de" id="btn_de" value="DE">
</div>
</form> |
Le code est minimaliste :
JS:
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
| $(document).ready(function()
{
$('#btn_fr, #btn_de').on('click',function()
{
var CheminComplet = document.location.href;
var CheminRepertoire = CheminComplet.substring( 0 ,CheminComplet.lastIndexOf( "/" ) );
var NomDuFichier = CheminComplet.substring(CheminComplet.lastIndexOf( "/" )+1 );
var langue = $(this).val();
$.ajax(
{
type: 'POST',
url: 'php/changer_langue.php',
data:
{
'langue':langue
},
dataType: 'text',
success:function(callback)
{
console.log(callback);
location.reload(CheminComplet+'?langue="'+callback+'"') ;
}
});
}
);
}); |
php :
Code:
1 2 3 4 5 6 7 8 9
| <?php
session_start();
error_reporting(E_ALL);
ini_set('display_errors', 1);
$_SESSION['langue'] = $_POST['langue'];
?> |
Merci d'avance pour l'aide.