好吧,我的理解是,這個ASP代碼將生成一個選擇選項塊像下面或類似。你想要做的是在選擇一個選項後,你想要去另一個ASP頁面來處理表單,通過一個變量q = yrSearch和另一個變量,即你選擇的年份來處理表單。這樣對嗎?
<select name="" id="">
<option value="">2014</option>
<option value="">2013</option>
<option value="">2012</option>
<option value="">2011</option>
<option value="">2010</option>
<option value="">2009</option>
</select>
我從來沒有使用過ASP,但我認爲在通過URL傳遞變量時,它可能或多或少像PHP一樣起作用。 在HTML形式的代碼塊你產生總是把一個結構類似:
<form action="bill_report.asp" method="get" id="myForm">
<input type="hidden" name="q" value="yrSelect">
<select name="name_of_select" value="" onChange="change_function(this.selectedIndex)">
<option value="2014">2014</option>
<option value="2013">2013</option>
<option value="2012">2012</option>
<option value="2011">2011</option>
<option value="2010">2010</option>
<option value="2009">2009</option>
</select>
如果你去看一下W3CSchools的網頁(http://www.w3schools.com/jsref/dom_obj_select.asp),你可以看到,你可以修改的屬性值對於一個SELECT塊也是如此。
您唯一要做的就是當您選擇一個選項時,讓javascript獲取所選OPTION的值並將其設置在整個SELECT塊中。所以當你提交時,select的變量也會被傳遞給URL。 當選擇完成後,您必須調用FORM的方法submit(),以便使用值提交表單。
如果你想傳遞你已經知道的變量。就像您之前指出的那樣:q = yrSelect,我會使用INPUT HIDDEN表單項,所以您可以安全且快速地傳遞變量。
<script type="text/javascript">
var form = document.getElementById('myForm');
var select = document.body.querySelector('select');
var options = document.body.querySelectorAll('option');
function change_function (index) {
select.value = options[index].value;
form.submit();
}
</script>
感謝..但它可能無法正常工作。 – Alxan 2014-12-13 14:26:32