2014-02-26 4 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

Я думаю, вам придется добавить значение входного текста к параметру formdata, который используется для ajax-запроса. Попробуйте добавить следующее:

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

после

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

Я не семенники этого кода, но _("Eid") вы получите входные текстовый элемент и .value его значение. В вашем php-скрипте (file_upload_parser.php) вы должны будете прочитать значение полей ввода из параметра formdata.

0

Вы уже используете функцию добавления, чтобы добавить файл в свои данные формы. Поэтому все, что вам нужно сделать, это использовать ту же функцию, чтобы добавить ваш вход. Что-то вроде:

var formdata = new FormData(); 
formdata.append("file1", file); 
// Add input field value 
formdata.append("name1", _('Eid').value); 
Смежные вопросы