2010-08-19 7 views
1

I have been battling with this piece of code for literally days now... Would appreciate any helpAJAX .. Envoyer un formulaire de données ne pas envoyer

The script calls the php file without a problem when the submit key is hit. However, it doesnt post the form data with it.

The HTML form

<form id="image_form" name="image_form" method="POST" 

action="" enctype="multipart/form-data"> File:

The Javascipt

$(function() { 
$(".submit").click(function() { 
    var obj = document.getElementById("form_div"); 
    var load = document.getElementById("load"); 
    jQuery.ajax({ 
    type: "POST", 
    name: "image", 
    url: "upload_imagel.php", 
    enctype: "multipart/form-data", 
    beforeSend: function(){ 
    obj.style.display = 'none'; 
    load.innerHTML = "<img src='../images/misc/ajax-loader.gif' 

/>"; }, error: function(){ alert('Error has occured'); }, timeout:5000, success: function(results){ load.style.display = 'none'; obj.style.display = 'block'; } }) return false; }); });

The PHP

The following is then empty

$image=$_FILES['image']['name']; 

Merci à pekka j'ai changé les éléments suivants AJAX pour

$(document).ready(function() { 
    var obj = document.getElementById("form_div"); 
    var load = document.getElementById("load"); 

    var options = { 
     beforeSend: function(){ 
      obj.style.display = 'none'; 
      load.innerHTML = "<img src='../images/misc/ajax-loader.gif' />"; 
      }, 
     success: function(){ 
      load.style.display = 'none'; 
      obj.style.display = 'block'; 
      }, 
     type:  'POST', 
     timeout: 5000 
    }; 

    $('#image_form').submit(function() { 
     $(this).ajaxSubmit(options); 
     return false; 
    }); 
}); 

Cependant obtenir toujours le même problème

$image=$_FILES['image']['name']; 

encore vide :(

P.s. html formulaire en-tête est maintenant

<form id="image_form" method="POST" action="sMain/upload_image_small.php" enctype="multipart/form-data"> 

Ai-je raté quelque chose?

Répondre

2

Il n'est pas possible d'effectuer des téléchargements de fichiers à l'aide d'AJAX, car votre script n'obtiendra pas l'accès en lecture à un fichier sur l'ordinateur client.

Vous pouvez jeter un oeil à la jQuery form plugin qui utilise un iframe invisible pour y parvenir.

+0

Vous avez la même erreur :( – Stevanicus

+0

@Stevanicus étrange Pouvez-vous afficher le code HTML de votre formulaire? –

0

Vous pouvez essayer d'utiliser Plupload (http://www.plupload.com). Il a beaucoup de fonctionnalités et fonctionne bien pour les téléchargements de fichiers.

0

Il fonctionne Pekka, avait une faute de frappe dans mon fichier php. Si ennuyant.

Merci .. sont également venus à travers ce à travers un autre forum

http://www.ajaxf1.com/tutorial/ajax-file-upload-tutorial.html

Merci à vous deux pour votre aide.

+0

vous êtes les bienvenus Pour l'avenir, plutôt que d'ajouter une réponse de votre choix, il est toujours préférable d'utiliser les commentaires sur SO , et mettre à jour votre question si nécessaire (en utilisant le bouton "modifier") –

+0

ah ok merci, fera – Stevanicus

Questions connexes