#php #jquery
#php #jquery
Вопрос:
Последние пару дней я пытался сериализовать форму в jquery и передать ее на php. По какой-то причине это просто не работает… Вопрос, какие шаги вы предпринимаете для сериализации формы в Jquery… Я получаю идентификатор формы, передаю его в $(‘#fomrID’).serialize() …
И это все еще не работает. Когда я отлаживаю с помощью firebug, все, что я получаю, это пустая строка… Используете ли вы имя или идентификатор формы. Используете ли вы e.disableDefalut или что-то еще? Я не могу понять, почему я не могу сериализовать свою форму, пожалуйста, помогите
$('#profilepicbutton').change(function(){
alert("Boy I hate PHP");
var formElement = $('#profilepicinput').attr('value');
dataString = $("#registerpt3").serialize();
$.ajax({
type: "POST",
url: "register3.php",
data: dataString, //"profilePic=" formElement,
success: function(data){
alert( "Data Saved: " data );
$.ajax({
type: "POST",
url: "retrievePic.php",
data: "",
success: function(data){
alert(data);
var image = new Image();
$(image).load(function(){
console.log("we have uploaded this image");
}).attr('src', 'images/');
alert("");
},
error: function(msg){
alert("");
}
});
},
error:function(msq){
alert("" msg);
}
}
);
});
<form id="registerpt3" name="registerpt3" enctype="multipart/form-data" action="register3.php" onSubmit="" method="post">
<input name="profilepicinput" type="file" id="profilepicbutton" />
</form>
Комментарии:
1. Вы не объявили dataString.
Ответ №1:
Согласно http://api.jquery.com/serialize
Чтобы значение элемента формы было включено в сериализованную строку, элемент должен иметь атрибут name . Значения из флажков и переключателей (входные данные типа «radio» или «checkbox») включаются только в том случае, если они отмечены. Данные из элементов выбора файла не сериализуются.
Кроме того, простой вызов serialize фактически не загрузит изображение для вас. Если вы хотите выполнить асинхронную загрузку изображения (или любого файла, если на то пошло) Я бы предложил изучить что-то вроде Uploadify: http://www.uploadify.com /
Комментарии:
1. Ну, это все хорошо, но почему, черт возьми, мой php-скрипт вообще не получает файл? Я хочу использовать только бесплатные утилиты. Я пытаюсь реализовать решение valumns (после того, как, наконец, нашел его). Я не могу понять, почему мой php-скрипт просто не работает…
2. По двум причинам: 1) serialize() фактически не извлекает данные из файловых элементов. Второе связано с загрузкой файлов, погуглите о загрузке файлов PHP, и это научит вас всему, что вам нужно знать.