2017-07-05 68 views
0

我有upload按鈕。目前,當點擊它時,會出現一個新按鈕save,顯示哪些數據提交表單。單擊upload後是否有可能打開選擇文件的選項卡,如果單擊Open以提交表單而不需要第二個按鈕,則選擇文件後? 想象我有這樣的代碼如何使上傳按鈕提交文件沒有第二次提交按鈕php Symfony3

<form action="/upload" method="post"> 
    <input type="file" name="uploadButton" value="Upload Images"/> 
</form> 

是否有可能爲這個按鈕提交表單,並沒有第二個按鈕save發送數據。我正在使用Symfony 3.3和樹枝模板。我知道JavaScript,如果它可以幫助。先謝謝你。

+0

添加事件監聽器來自動提交表單時輸入的變化? – Danmoreng

+0

從來沒有想過它。謝謝! –

回答

0

添加事件監聽器來自動提交表單時輸入的變化:

HTML:

<form id="myform" action="/upload" method="post"> 
    <input id="myinput" type="file" name="uploadButton" value="Upload Images"/> 
</form> 

的JavaScript:

var form = document.getElementById('myform'); 
var input = document.getElementById('myinput'); 

var change_running = false;  
input.addEventListener('change', function(){ 
    if(!change_running){ 
     setTimeout(function(){ 
      change_running = true; 
      form.submit(); 
      change_running = false;  
     }, 300); 
    } 
}); 
+0

似乎開始工作,但後來當我添加多個文件時,它只提交第一個表單。我必須補充一點,我在HTML視圖中使用了簡短的方式,那就是「onChange」。原因是我需要在同一頁面(在一個表格中)與不同編輯器有關的許多按鈕,並且每個表格都有不同的ID和「onChange」,這些工作都很好,直到我嘗試上傳多個文件。出於某種原因,這種方式提交表格之前,所有的文件,但第一個 –

+0

更詳細的代碼會很好。無論如何,您可以嘗試在最後一次輸入中添加EventListener。 – taha

+0

這是一些有趣的行爲。我不太喜歡這個想法,但是你可以給onchange事件增加一個延遲。我在我的答案中添加了一些代碼。布爾值只是爲了確保表單不會多次提交。我不確定多個文件是否會多次觸發更改事件。 – Danmoreng