2012-03-06 72 views
0

如何強制對錶格內的複選框或下拉菜單選項進行任何更改以使瀏覽器發出HTTP POST?在每個複選框/下拉列表中強制執行POST

帶寬不是問題,刷新頁面是不是一個問題,我不想去充分的AJAX路線。

我真正想要的是當用戶點擊一個複選框做一個HTTP POST(或選擇從下拉菜單中的東西),等等,而無需其更改後,點擊「提交」用戶。

也許它應該在客戶端使用一些JavaScript來完成? (我不能成功地谷歌任何東西)

+1

有沒有「也許「,你需要提交一個使用JS的每一個變化的表單。 – 2012-03-06 14:36:04

+0

如果有人能解釋downvote這將是偉大的。 – 2012-03-06 14:41:16

+0

我沒有低調,但我懷疑這是因爲缺乏努力 - 儘管得到了結果,但這很容易被搜索到。例如,https://www.google.com/search?btnG=1&pws=0&q=submit+form+on+checkbox+click&qscrl=1似乎會返回不少相關提示。 – 2012-03-06 14:54:54

回答

2

使用Javascript。將onchange="document.getElementById('myFormId').submit()"添加到元素,或以編程方式執行此操作。​​必須替換爲form元素的HTML標識。

+0

+1給大家...非常感謝您的快速回答:工作正常。 – 2012-03-06 14:48:38

+0

如果您使用內聯並且對象位於要提交的表單內,那麼'onchange =「this.form.submit()」'也會執行 – mplungjan 2012-03-07 10:12:59

1

AFIK它不能沒有客戶端腳本來完成。最簡單的方法是觸發每個表單更改的submit事件。與jQuery它與下面的代碼完成:

<script type="text/javascript"> 
$(function() { 
    $("input[type=checkbox],input[type=radio],select").change(
     function(evt)){evt.target.form.submit();} 
    ); 
}); 
</script> 

如果你不使用jQuery,你必須寫一些樣板事件處理代碼。有關JavaScript事件處理的更多信息,請參閱this introduction

1

您可以使用JavaScript onchange事件來調用窗體上的submit()函數。

1

,如果你有一個表格已經成立只是把一個類,你要用作觸發器的元素,然後 的選擇

$(".classname").change(function(){ 
$("#formid").submit(); 
}); 

的複選框/收音機

$(".classname").click(function(){ 
$("#formid").submit(); 
});