2014-02-26 121 views
0

如何更改此腳本,它是爲文件上傳設置的,我可以從文件輸入文本以外的其他文件中進入數據庫,我希望它也可以獲取輸入文本,然後我可以通過php將輸入文本插入到數據庫中。通過ajax獲取輸入文本

任何人都可以幫忙嗎?

<script> 

function _(el){ 
    return document.getElementById(el); 
} 

function uploadFile(){ 
    var file = _("file1").files[0]; //alert(file.name+" | "+file.size+" | "+file.type); 
    var formdata = new FormData(); formdata.append("file1", file); 
    var ajax = new XMLHttpRequest(); 
    ajax.upload.addEventListener("progress", progressHandler, false); 
    ajax.addEventListener("load", completeHandler, false); 
    ajax.addEventListener("error", errorHandler, false); 
    ajax.addEventListener("abort", abortHandler, false); 
    ajax.open("POST", "file_upload_parser.php"); 
    ajax.send(formdata); 
} 

function progressHandler(event){ 
    _("loaded_n_total").innerHTML = "Uploaded "+event.loaded+" bytes of "+event.total; 
    var percent = (event.loaded/event.total) * 100; 
    _("progressBar").value = Math.round(percent); 
    _("status").innerHTML = Math.round(percent)+"% uploaded... please wait while file is saved!"; 
} 

function completeHandler(event){ 
    _("status").innerHTML = event.target.responseText; 
    _("progressBar").value = 0; 
} 

function errorHandler(event){ 
    _("status").innerHTML = "Upload Failed"; 
} 

function abortHandler(event){ 
    _("status").innerHTML = "Upload Aborted"; 
} 

</script> 


<form id="upload_form" enctype="multipart/form-data" method="post"> 
    <input type="text" id="Eid" name="name1" /> 
    File:<input type="file" name="file1" id="file1"><br> 
    <progress id="progressBar" value="0" max="100" style="width:300px;"></progress><br /> 
    <input type="button" value="Upload File" onclick="uploadFile()"><br /> 
    <h3 id="status"></h3> <p id="loaded_n_total"></p> 
</form> 
+1

'formdata.append(「name1」,_('Eid')。value);'? – putvande

+0

是的,非常感謝你:) – BoxyGILLETT

回答

0

嘗試使用此:

formdata.append("name1", $('#Eid').val()); 

,我認爲它應該工作。

0

我想你將不得不將輸入文本值附加到用於ajax請求的formdata參數。嘗試添加以下內容:

formdata.append("name1", _("Eid").value); 

var formdata = new FormData(); formdata.append("file1", file); 

我還沒有睾丸這段代碼,但_("Eid"),你會得到輸入文本元素和.value它的價值。在您的php腳本(file_upload_parser.php)中,您應該能夠從formdata參數中讀取輸入字段值。

0

您已經使用追加功能將文件添加到您的formdata。所以你需要做的就是使用相同的函數來追加你的輸入。例如:

var formdata = new FormData(); 
formdata.append("file1", file); 
// Add input field value 
formdata.append("name1", _('Eid').value);