Uncaught ReferenceError: detection is not defined
Bonjour,
J'arrive toujours à trouver les réponses à mes questions grâce à google et bien souvent sur developpez.net.
Malheureusement, cette fois ci, je ne comprends pas se qu'il se passe. Il doit surement me manquer un petit truc pour comprendre. J'espère donc que vous pourrez m'aider.
Je souhaite uploader des fichiers pour ce faire je me suis inspiré d'un code nommé ajaxupload.
Bon mon problème c'est que je n'arrive pas à appeler la fonction detection dans la fonction stopUpload.
Si stopUpload n'est pas dans le $(document).ready(function() c'est parsque si non je n'arrive pas à l'appeler depuis upload.php avec window.top.window (cf un peut plus bas).
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
| <script type="text/javascript">
function stopUpload(success){
alert(success);
detection(para1,para2,para3);
};
$(document).ready(function() {
$("#formulaireUpload").submit(function(){
$("#upload_form").hide("slow");
$("#retour").hide("slow");
$("#barDeProgression").show("slow");
return true;
});
function detection($fichier , $random ,$nbclasse){
$('#barDeProgression').show("slow");
$date = "<?php echo date("Y-m-d H:i:s");?>";
$jour = "<?php echo date("Y-m-d");?>";
$adresse += "../data/" + $jour + $fichier;
$.get('detection.php',
{
filename: $chainePost,
random: $random,
nbclasse: $nbclasse,
},function(){....... |
Ceci est mon formulaire
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| <div id="upload_form" class="container">
<div id="retour"></div>
<form action="upload.php" method="post" id="formulaireUpload" enctype="multipart/form-data" target="upload_target" onsubmit="" >
Nombre de classe (uniquement pour DCNG): <input type="text" id="nbclasse" value="10">
</br>
<label>File:
<input name="myfile" type="file" id="myfile" size="30" accept=".dat" />
</label>
<label>
<input type="submit" name="submitBtn" value="Analyser" />
</label>
<iframe id="upload_target" name="upload_target" src="#" style="width:0;height:0;border:0px solid #fff;"></iframe>
</form>
</div> |
Ceci est upload.php
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 32 33 34 35 36 37 38 39 40
| <?php
// Edit upload location here
$rand = rand(2,32767) * rand(2,32767); //Génération d'un nombre aléatoire entre 4 et 1*073*676*289
$jour = date("Y-m-d"); ;
$destination_path = getcwd().DIRECTORY_SEPARATOR; //on récupère l'adresse du fichier upload.php
$destination_path = str_replace('fichiers' , 'data' , $destination_path); //on se déplace dans le dossier data
$destination_path = $destination_path.'/'.$jour.'/'; //On prépare la création du dossier de stockage
$result = 0; //init de la variable de sortie
if(!is_dir($destination_path)){ //Si le dossier du jour n'existe pas
if (!mkdir($destination_path, 0777, true)) //création du dossier jour
{
die('Echec lors de la création des répertoires...'); //Si erreure
}
else
{
chmod($destination_path, 0777); //Modification des droit d'écriture et lecture du dossier
}
}
$destination_path = $destination_path.'/'.$rand.'/'; //On prépare la création du dossier de stockage
while(is_dir($destination_path)) //vérifie qu'aucun dossier existant n'ai le nom rand
{
$destination_path = str_replace($rand , $rand = $rand+1 , $destination_path); //Si c'est la cas, on test avec rand+1
}
if (!mkdir($destination_path, 0777, true)) //création du dossier jour
{
die('Echec lors de la création des répertoires...'); //Si erreure
}
else
{
chmod($destination_path, 0777); //Modification des droit d'écriture et lecture du dossier
}
$target_path = $destination_path . basename( $_FILES['myfile']['name']); //génération du l'adresse du fichier
if(@move_uploaded_file($_FILES['myfile']['tmp_name'], $target_path)) { //Upload du fichier
$result = $rand; //Upload réussi alors result =1 si non =0
}
sleep(1);
//appel de la fonction stopUpload avec result en paramettre.
?>
<script language="javascript" type="text/javascript">window.top.window.stopUpload(<?php echo "$result"; ?>);</script> |
J'espère avoir été suffisamment claire dans l'explication de mon pb :D
D'avance merci
Alex