2013-05-15 176 views
1

我不知道是否有一個乾淨的方式來做一個HTML表單,如果用戶推送一個發佈按鈕,並且可以發送以及get方法,如果用戶按下獲取按鈕。我需要這個,因爲我想顯示一個既可以輸入新數據也可以搜索數據庫中現有數據的表單。如果用戶想要在數據庫中輸入數據,他們可以填寫表單並通過「發送」按鈕(POST)發送,如果他們不確定他們想要什麼,他們可以部分填寫表單並將搜索按鈕(GET)接收關於數據庫內容的一些見解。從我所知道的方法是爲表單定義的,而不是提交按鈕。任何想法如何我可以做到這一點沒有JavaScript?或與JavaScript?html,通過郵件發送表單或按提交按鈕

+0

你可以用javascript/jquery標記你的問題(例如)如果你正在尋找利用這些的解決方案。 –

+0

我寧願有一個純粹的HTML解決方案。如果唯一有效的解決方案使用JavaScript,那麼我會接受它,這就是爲什麼我把'與JavaScript'。 – Bastian

+0

我不知道只能使用HTML的方法。但我已經回覆了一個JS解決方案。如果你還沒有使用jQuery,那麼使用它就沒有意義了,因爲JS就足夠了。 – user1596138

回答

2

雖然你不應該需要這個功能,但我會回答你的問題。

這裏。 首先,您應該爲表單分配一個ID。我們的樣本表格將具有ID'YYYY'。

<form action="whatever" id="YYYY" method="" > 



<input type="button" onClick="usingget();" value="GET" /> 
<input type="button" onClick="usingpost();" value="POST" /> 

</form> 


<script type="text/javascript"> 
function usingget() { 
document.getElementById('YYYY').method = 'GET'; 
setTimeout(function(){ 
document.getElementById('YYYY').submit(); 
}},1000); 
function usingpost() { 
document.getElementById('YYYY').method = 'POST'; 
setTimeout(function(){ 
document.getElementById('YYYY').submit(); 
}},1000); 
</script> 

現在,當您單擊其中一個按鈕時,它將更改方法。 編輯:現在有一個1秒的延遲,因爲我很累,不確定表單是否會在沒有它的方法更改之前提交。

+0

在改變表單之前,無論默認方法是什麼,都沒有提交表單的危險(因爲它們是「提交」按鈕)?也許另一種選擇是使用標準的「輸入」按鈕,然後使用函數來提交表單。 – blankabout

+0

這看起來不錯,儘管@blankabout說應該考慮在內。只是一個問題,你爲什麼說我「不應該需要這個功能」? – Bastian

+0

當我爲自己做了類似的事情時,最初出現在我的腦海裏。爲了解決我的問題,我需要延遲其他與此無關的原因。也許你應該讓按鈕調用函數,然後改變方法,延遲並提交表單。我錯了,你也不需要這個功能。 – user1596138