ich ein Formular haben eine Menge Informationen und eine Datei Multiupload Uploader wie diese form.serialize hochladen:Wie Formdata erhalten und in Datenparameter auf ajax jquery
<div class="col-md-4">
<div class="form-group">
<label class="control-label col-md-3">Location</label>
<div class="col-md-9">
<?php
$location = array(
"type" => "text",
"name" => "location",
"id" => "location",
"class" => "form-control"
);
echo form_input($location);
?>
<span class="help-block"></span>
</div>
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label class="control-label col-md-2">Warehouse</label>
<div class="col-md-10">
<?php
foreach ($tipe as $v):
echo "<label class='checkbox-inline'><input type='checkbox' name='tipe[]' value='$v->ID_CHECK_LIST'>$v->NAMA_CHECK_LIST</label>";
endforeach;
?>
<p class="help-block"></p>
</div>
</div>
</div>
<div class="col-md-12">
<div class="form-group">
<label class="control-label col-md-2">Image If Damage</label>
<div class="col-md-4">
<input type="file" multiple="" name="images[]">
<p class="help-block"></p>
</div>
</div>
Nun, ich brauche um sie mit Ajax zu senden. Ich habe versucht $ (form) .serialized(), aber die $ _FILES ist leer, also verwende ich FormData Klasse. Aber FormData behandelt nur die Datei, nicht die andere Eingabe. Wie kann ich die Daten im Aja-Parameter einstellen, um Datei und eine andere Eingabe zu behandeln.
Dies ist der Ajax-jquery
$('#form').submit(function() {
$('#btnSave').text('saving...'); //change button text
$('#btnSave').attr('disabled', true); //set button disable
var url;
var formData = new FormData(this);
if (save_method === 'add') {
url = "<?php echo site_url('members/it/Request/ajax_add') ?>";
} else {
url = "<?php echo site_url('members/megumi/cek_list_wire_rod/ajax_update') ?>";
}
// ajax adding data to database
$.ajax({
url: url,
type: "POST",
data: formData,
processData: false,
contentType: false,
$('#form').serialize(),
dataType: "JSON",
success: function (data)
{
if (data.status) //if success close modal and reload ajax table
{
$('#modal_form').modal('hide');
reload_table();
} else
{
for (var i = 0; i < data.inputerror.length; i++)
{
$('[name="' + data.inputerror[i] + '"]').parent().parent().addClass('has-error'); //select parent twice to select div form-group class and add has-error class
$('[name="' + data.inputerror[i] + '"]').next().text(data.error_string[i]); //select span help-block class set text error string
}
}
$('#btnSave').text('Save'); //change button text
$('#btnSave').attr('disabled', false); //set button enable
},
error: function (jqXHR, textStatus, errorThrown)
{
alert('Error adding/update data');
$('#btnSave').text('save'); //change button text
$('#btnSave').attr('disabled', false); //set button enable
}
});
return false;
});
Jede Hilfe es so geschätzt.
Ich glaube, Sie enctype = multipart/formdata Attribut in Form zu verwenden, haben –
Ja, ich habe, aber noch kein Ergebnis –
Das enctype ist: multipart/Formulardaten (nur wollte um auf den Tippfehler hinzuweisen, bevor jemand die vorherigen Kommentare kopiert und anfügt) –