Я следую за тем, что this post упоминается для загрузки файла. Небольшая разница заключается в том, что я добавил еще одно поле ввода текста в форму. Файл изображения загружается на сервер успешно, но кажется, что значение в поле ввода не передается PHP для обновления базы данных. Функция базы данных запущена и добавлена запись базы данных, но отсутствует значение из формы.PHP не способен получить значение POST от AJAX
Может ли кто-нибудь указать мне, что я пропустил? Благодарю.
$.validate({
form: '#frmSlide',
modules: 'file, html5',
validateOnBlur: false,
errorMessagePosition: 'top', // Instead of 'element' which is default
scrollToTopOnError: false, // Set this property to true if you have a long form
onSuccess: function($form) {
var file_data = $('#a_imgfile').prop('files')[0];
var form_data = new FormData();
form_data.append('file', file_data);
$.ajax({
url: 'slide_upd.php', // point to server-side PHP script
dataType: 'text', // what to expect back from the PHP script, if anything
cache: false,
contentType: false,
processData: false,
data: form_data,
type: 'post',
success: function(data) {
alert(data);
}
});
}
});
<form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post" enctype="multipart/form-data" class="form-horizontal" id="frmSlide">
<div class="form-group">
<label class="col-sm-4 control-label" for="imgfile">Image file</label>
<div class="col-sm-8">
<input type="file" id="a_imgfile" data-validation="required mime size" data-validation-allowing="jpg, png, gif" data-validation-ratio="1:1" data-validation-max-size="1M" data-validation-error-msg="An image file is mandatory." />
</div>
</div>
<div class="form-group">
<div class="col-sm-8 col-md-offset-4" id="image-holder">
</div>
</div>
<div class="form-group">
<label class="col-sm-4 control-label" for="seq">Sequence</label>
<div class="col-sm-8">
<input class="form-control server" name="a_seq" id="a_seq" type="number" min="1" max="4" value="" placeholder="Enter display sequence of this slide" data-validation-error-msg="Only 1 to 4 is allowed." />
</div>
</div>
<div class="form-group">
<div class="col-sm-offset-4 col-sm-8">
<button name="btnUpd" id="btnUpd" type="submit" class="clsUpd btn btn-primary"><i class="fa fa-floppy-o"></i> Update</button>
</div>
</div>
</form>
<?php
\t $image_name = $_FILES['file']['name'];
\t $image_size = $_FILES['file']['size'];
\t $image_temp = $_FILES['file']['tmp_name'];
\t
\t move_uploaded_file($image_temp, 'img/'.$image_name);
\t $seq = $_POST['a_seq'];
\t addSlide($seq);
?>
function addSlide($seq) {
\t $seq = (int)$seq;
\t mysql_query("INSERT INTO slide (seq, lastchgat)
\t \t VALUES ('$seq', now())") or die(mysql_error());
}
, которого не добавить любое значение в FormData для 'a_seq' – guradio
Можете ли вы показать мне, как добавить другие поля на форме? Благодарю. –
'вар a_seq = $ ('# a_seq') Вал();.' ' form_data.append ('a_seq', a_seq);' Есть что-то вроде этого – guradio