表单上传Ajax

时间:2013-11-19 12:14:01

标签: 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>

当我在我的功能中选择发票时

...

     if(str=='3'){
        $.get("/php/home/add/produto/fillInvoice.php", function(html) {
                    $("#addFIELD").html(html);

            });

...

它在表格中生成表格以填写发票数据:

...

<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>

因此,当我提交表单时,它会调用此ajax函数来动态提交:

...

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();
                }
               }

               }

    }); 
...

因此在调用将数据提交到mysql数据库的php之后......

在对我的代码进行解释后,我想知道为什么我的上传不起作用?是因为它的动态?,所以上传时间与提交时间不同? ......它适用于正常输入...我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

data:{'newname':name,'newdate':date,'newvendor_id':vendor,'newdir':dir}

用这个

替换datastring