Javascript 表单上传Ajax
这是我的问题我有一个组合框Javascript 表单上传Ajax,javascript,php,mysql,ajax,Javascript,Php,Mysql,Ajax,这是我的问题我有一个组合框 <select id='addOPTION' onchange='fillADDid(this.value);'> <option value=0>Select</option> <option value=1>etc</option> <option value=2>etc</option> <option value=3>invoice</option> &
<select id='addOPTION' onchange='fillADDid(this.value);'>
<option value=0>Select</option>
<option value=1>etc</option>
<option value=2>etc</option>
<option value=3>invoice</option>
</select>
它在表格中生成一个表单,用于填写发票数据:
...
<form id="adicionar" autocomplete="off" enctype="multipart/form-data"></form>
<tr>
<td><input type="text" id="newname"></td>
<td><input type="date" id="newdate"></td>
<input type="file" id="myfile" name="newdir" accept="application/pdf"></td>
<td class="btn"><input class="add" onclick="return validar();" type="submit" id="submit_btn" value=""></td>
</tr></tbody></table></div>
因此,在调用将数据提交到mysql数据库的php之后
在解释完我的代码后,我想知道为什么我的上传不起作用?是不是因为它是动态的,所以上传时间与提交时间不同。。。它在正常输入下工作。。。我怎样才能解决这个问题
data:{'newname':name,'newdate':date,'newvendor_id':vendor,'newdir':dir}
将datastring替换为这个php会收到它吗?你可以像往常一样在$\u POST[]中接收它们。你可以通过$\u POST['newname']等方式访问它们。在这里,我想你正在尝试通过ajax发布文件。不能像jquery中的表单提交那样发布文件。为此,您需要一些其他库
...
var dataString = 'newname='+ name +'&newdate='+ date +'&newvendor_id='+ vendor +'&newdir='+ dir;
$.ajax({
type: "POST",
url: "/php/home/add/invoice/addinvoice.php",
data: dataString,
success: function(data) {
//alert(data);
if(data==0){
alert('REPEATED');
}else{
if(data==1){ var pdf="with PDF"; }else{ var pdf="without PDF";}
var result = confirm("Invoice inserted "+pdf+"!\n\nClear form?");
if(result){
document.getElementById('adicionar').reset();
}
}
}
});
...
data:{'newname':name,'newdate':date,'newvendor_id':vendor,'newdir':dir}