Witam, mam problem ze stworzeniem formularza który będzie wysyłał plik na serwer oraz dane metodą post. Czytałem już chyba wszystko z internetu i nic nie pomaga;/
Kompletnie nie wiem jak to zrobić. Mój formularz wygląda tak:
<form id="offerForm" action="#" method="post" enctype="multipart/form-data"> <select name="offer_gatunek" id="offer_gatunek" class="form-poshytip" title="Wybierz gatunek oferty."> <input name="name" type="file" id="offer_image" class="form-poshytip" title="Wybierz obrazek do oferty." /> <input name="name" id="offer_name" type="text" class="form-poshytip" title="Wpisz nazwę oferty." /> <textarea name="comments" id="offer_text" rows="5" cols="20" class="form-poshytip" title="Wpisz treść oferty"></textarea> <input type="hidden" value="add_offer.php" name="send_offer_form" id="send_offer_form" /> <p><input type="button" value="Dodaj" name="submit" id="offer_submit" /> <span id="offer_error" class="warning">Message
</span></p>
mam tu nazwy i jeden input typu file, który chce wysłać ajaxem na serwer.
mój plik js aktualnie wygląda tak: (z nazwami sobie poradziłem i wysyłają się postem, jednak post obrazka to C:/fakepath, więc nie działa prawidłowo)
$(document).ready(function(){
// hide messages
$("#offer_error").hide();
$("#offer_success").hide();
// on submit...
$("#offerForm #offer_submit").click(function() {
$("#offer_error").hide();
//required:
//offer_gatunek
var gatunek = $("select#offer_gatunek").val();
if(gatunek == ""){
$("#offer_error").fadeIn().text("Wybierz gatunek oferty.");
$("select#offer_gatunek").focus();
return false;
}
//offer_image
var image = $("input#offer_image").val();
if(image == ""){
$("#offer_error").fadeIn().text("Wybierz obrazek do oferty.");
$("input#offer_image").focus();
return false;
}
//offer_name
var name = $("input#offer_name").val();
if(name == ""){
$("#offer_error").fadeIn().text("Wpisz nazwę oferty.");
$("input#offer_name").focus();
return false;
}
// offer_text
var text = $("textarea#offer_text").val();
if(text == ""){
$("#offer_error").fadeIn().text("Wpisz treść oferty.");
$("textarea#offer_text").focus();
return false;
}
// send mail php
var sendMailUrl = $("#send_offer_form").val();
// data string
var dataString = 'offer_name='+ name
+ '&offer_text=' + text
+ '&offer_image=' + image
+ '&offer_gatunek=' + gatunek;
// ajax
$.ajax({
type:"POST",
url: sendMailUrl,
data: dataString,
success: success()
});
});
// on success...
function success(){
$("#offer_success").fadeIn();
$("#offerForm").fadeOut();
}
return false;
});