Javascript 如何使用ajax将所选选项发送到php文件?
我试图在php中选择一个选项,将其保存到数据库中。我使用的是Ajax,它将数据和文件与FormData一起发送。一切正常,但当我选择一个选项并单击submit按钮时,php文件不会什么也得不到,只保存输入的文本数据和文件信息 HTMLJavascript 如何使用ajax将所选选项发送到php文件?,javascript,php,jquery,ajax,select,Javascript,Php,Jquery,Ajax,Select,我试图在php中选择一个选项,将其保存到数据库中。我使用的是Ajax,它将数据和文件与FormData一起发送。一切正常,但当我选择一个选项并单击submit按钮时,php文件不会什么也得不到,只保存输入的文本数据和文件信息 HTML <form id="data" method="post" enctype="multipart/form-data"> <input type="text" name="first"/> <input type=
<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>
PHP
<?php
echo $_POST['first'];
echo $_POST['disp'];
echo $_FILES['image']['name'];
?>
试着这样做:
$("#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;
}
您可以使用$('form').serialize();而不是var formData=new formData($(this)[0])
使用此代码,您将获得所有数据。将id添加到文本字段中
<input type="text" name="first" id="first"/>
<input type="file" name="image" id="image"/>
然后在ur php文件中
<?php
echo $_POST['first'];
echo $_POST['disp'];
echo $_FILES['image']['name'];
?>
});
});
我觉得你的代码很好。。
$(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
echo $_POST['first'];
echo $_POST['disp'];
echo $_FILES['image']['name'];
?>
});