2012-10-08 10 views
0
<form id="form1" name="form1" method="post" action="foo.php"> 

    sort by: 
    <select> 
    <option name="date">sort by date</option> 
    <option name="name">sort by name</option> 
    <option name="price">sort by price</option> 
    </select> 

</form> 

我在這裏想要的是,當我選擇一個選項時,表單中的動作將被自動執行?所以總之 我選擇的將通過$ _POST發送到foo.php。我不想要輸入按鈕來執行操作。窗體下拉列表....如何觸發沒有按鈕的動作?

我需要使用Javascript才能達到此目的嗎? 你能告訴我這樣做的代碼嗎? 如果它需要JavaScript然後如何

+0

https://www.google.com/search?q=js+submit+form+select+change – Daniel

回答

1

您需要JavaScript才行。

雖然你應該使用unobtrusive javascript,基本的代碼看起來是這樣的:

<select onChange="document.forms['form1'].submit();"> 

您將一個事件處理程序change事件,並將它提交表單。

+0

如果JavaScript在關閉什麼替代方案應該如何做排序? – user1729997

+0

有一個提交按鈕? – Daniel

+0

@ user1729997你不能。如果javascript關閉,表單需要由訪問者手動提交(使用按鈕等)。 – jeroen

1

這將需要JavaScript,但如果你想使用jQuery,那麼這很容易。與jQuery這將是:

$('#form1 select').on('change', function() { 
    $('#form1').submit(); 
}); 

在JavaScript中你要綁定的select元素的onChange事件。一種方法是:

<select onChange="document.form1.submit()"> 
+0

如果他不不知道如何用普通的JS執行這個操作,我不認爲他已經準備好了框架。 – Daniel

+0

我不知道我是否同意這種方法,當涉及到jQuery。我所有的教導一個人釣魚,但jQuery感覺像JavaScript的好部分減去DOM的一些不好的部分:) –

+0

我想這是真的。自從您展示兩種解決方案後,我爲您投了票。 – Daniel

0

最簡單的方法是直接使用JavaScript選擇元素。活動正在進行中。

<select onchange="javascript:document.form1.submit();"> 

你也可以去找基於jQuery的表單。從http://jquery.com/下載jQuery javascript並將其包含在您的HTML中。在此之後,使用方法:

<select id="sort"> 

而且,裏面的:

$(document).ready(function(){ 
      $("#sort").change(function() { 
        $(this).parent().submit(); 
      }); 
}); 
相關問題