2015-01-30 3 views
0

Я пытаюсь получить выбранную опцию в php, чтобы сохранить ее в базе данных. Я использую Ajax, и он отправляет данные и файл вместе с FormData. Все идет нормально, но когда я выбираю опцию и нажимаю кнопку отправки, php-файл ничего не получает и просто сохраняет входные текстовые данные и информацию о файлах.Как отправить выбранный параметр в файл php с помощью ajax?

HTML

<form id="data" method="post" enctype="multipart/form-data"> 
    <input type="text" name="first"/> 
    <input type="file" name="image"/> 
    <select name="disp" id="dispnb" class="dispc"> 
      <option value="0" selected>Select...</option> 
      <option value="2"><b>Option A</b></option> 
      <option value="3">Option B</option> 
      <option value="3">Option C</option> 
    </select> 
</form> 

JQuery

$(document).ready(function(){ 
    $("form#data").submit(function(){ 
    var formData = new FormData($(this)[0]); 

    $.ajax({ 
     url: 'upload.php', 
     type: 'POST', 
     data: formData, 
     async: false, 
     success: function (data) { 
      alert(data) 
     }, 
     cache: false, 
     contentType: false, 
     processData: false 
    }); 

    return false; 
});   
}); 

PHP

<?php 
    echo $_POST['first']; 
    echo $_POST['disp']; 
    echo $_FILES['image']['name']; 
?> 
+0

Ur код выглядит хорошо для меня .. – Outlooker

ответ

0

Попробуйте так:

$("#dispnb").change(function(){ 
var your_selected_value = $('#dispnb').val(); 
$.ajax({ 
type: "POST", 
url: 'upload.php', 
data: {"selected": your_selected_value}, 
success: function(data) { 
alert(data); 
}, 
error: function(data) { 
// Stuff 
} 
}); 
}); 

В upload.php

<?php 
if (isset($_POST['selected'])){ 
$a = $_POST['selected']; 
echo $a; 
} 
+0

@geekth это может помочь you.let мне знать, если это сработает для вас :) – Priyank

0

Вы можете использовать $ ('форма') сериализации(). вместо var formData = new FormData ($ (this) [0]);

Используя этот код, вы получите все данные.

0

добавить идентификатор текстовых полей

<input type="text" name="first" id="first"/> 
<input type="file" name="image" id="image"/> 

JS

$(document).ready(function(){ 
    $("form#data").submit(function(){ 
    var data = array{} 
    data.disp = $('#dispnb').val(); 
    data.first = $('#first').val(); 
    data.image = $('#image').val(); 

    $.ajax({ 
     url: 'upload.php', 
     type: 'POST', 
     data: data, 
     async: false, 
     success: function (data) { 
      alert(data) 
     }, 
     cache: false, 
     contentType: false, 
     processData: false 
    }); 

    return false; 
});   

Затем в Уре файле PHP

<?php 
    echo $_POST['first']; 
    echo $_POST['disp']; 
    echo $_FILES['image']['name']; 
?> 
}); 
Смежные вопросы