[英]Passing DropDown selected value along with other selected query result set
我有一個表單“ test.cfm”,它將值傳遞到操作頁面“ testAction.cfm”!
test.cfm執行以下操作:
下拉框“ fruitsList”。
查詢“ qryFruits”,它提取數據,然后顯示查詢結果集
每個查詢結果集的“添加”按鈕
它應該如何工作:
下拉菜單“ fruitsList”將被選中。
選擇結果列表中的“添加”按鈕后,將傳遞“查詢結果集-CurrentRow”值。
“添加”按鈕傳遞“ query-resultset -CurrentRow”值,而不傳遞“ Drop down”值。
如何傳遞“下拉選擇值”?
<!--- test.cfm --->
<script type="text/javascript" >
function assign_fruits()
//
{
var a = document.fruitsForm.fruitsList.selectedIndex;
document.getElementById('salesForce').value = document.fruitsForm.fruitsList.options[a].value;
}
</script>
<form name="fruitsForm" >
<table>
<tr>
<td>
<select name="fruitsList" onChange="assign_fruits()">
<option disabled="true">select One
<option value="m1">apple
<option value="m2" selected>orange
<option value="m3">banana
<option value="m4">grape
<option value="m5">mango
</select>
</td>
<!--- Trying to assign the DD-value to an input field --->
<input name="salesForce" value="">
</tr>
<cfquery name="qryFruits" datasoure="#dsn#">
Select values from Fruits_Table
</cfquery>
<cfloop startrow="1" endrow="#qryFruits.recordcount#" query="qryFruits">
<cfoutput>
<tr>
<td><a href="testAction.cfm">Add</a></td>
</tr>
</cfoutput>
</cfloop>
</table>
</form>
請幫助。 瓦斯
您正在以非常規的方式處理此問題,但是我相信以下內容可以滿足您的需求:
<cfdump var="#form#">
<!--- test.cfm --->
<cfset qryFruits = queryNew("fruitID,fruitName")>
<cfset queryAddRow(qryFruits, 2)>
<cfset querySetCell(qryFruits, "fruitID", 1, 1)>
<cfset querySetCell(qryFruits, "fruitName", "Kiwi", 1)>
<cfset querySetCell(qryFruits, "fruitID", 2, 2)>
<cfset querySetCell(qryFruits, "fruitName", "Lime", 2)>
<script type="text/javascript" >
function assign_fruits() {
var a = document.fruitsForm.fruitsList.selectedIndex;
document.getElementById('salesForce').value = document.fruitsForm.fruitsList.options[a].value;
}
function submit(id) {
document.getElementById('fruitClicked').value = id;
document.forms["fruitsForm"].submit();
}
</script>
<form name="fruitsForm" id="fruitsForm" action="index.cfm" method="post">
<p>
<select name="fruitsList" onChange="assign_fruits();">
<option value="">select One</option>
<option value="m1">apple</option>
<option value="m2" selected>orange</option>
<option value="m3">banana</option>
<option value="m4">grape</option>
<option value="m5">mango</option>
</select>
</p>
<!--- Trying to assign the DD-value to an input field --->
<p>Fruit Slected from List Above: <input name="salesForce" id="salesForce" value=""></p>
<p>Fruit Clicked Below: <input name="fruitClicked" id="fruitClicked" value=""></p>
<cfloop startrow="1" endrow="#qryFruits.recordcount#" query="qryFruits">
<cfoutput>
<div></div><a href="##" onclick="submit(#qryFruits.fruitID#);">#qryFruits.fruitName#</a></div>
</cfoutput>
</cfloop>
</form>
請注意,在某些元素中缺少“ id”屬性,這導致JavaScript失敗。
我不太確定最終結果是什么,但是您是否只是想將#values#中的輸出傳遞給該javascript函數?
您始終可以直接傳遞值。
<tr>
<td>#values# </td>
<td><a href="test.cfm" onClick="assign_fruits(#values#);">Add</a></td>
</tr>
您的JavaScript表示var a = document.fruitsForm.fruits.selectedIndex;
但是您的表單字段不稱為“ fruits”,而是稱為fruitsList。 嘗試
document.fruitsForm.fruitsList.selectedIndex;
代替。
您的輸出可以稍微簡化。 但是我還是不太清楚你想做什么。 testAction.cfm的目的是什么?
<cfoutput query="qryFruits">
<tr>
<td><a href="testAction.cfm?ID=#qryFruits.CurrentRow#">Add #qryFruits.Values#</a></td>
</tr>
</cfoutput>
好的,我仍然不確定您要做什么。 我假設您想將參數salesForce傳遞給testAction.cfm。 它的值應該是m1,m2,m3,...
因此,從本質testAction.cfm?salesForce=m1
您需要使自己的網址像testAction.cfm?salesForce=m1
這樣正確嗎? 如果是這樣,請擺脫隱藏的表單字段和所有JavaScript。 是否將fruitsList下拉列表始終按順序編號為m1-mX? (即您不去m1,m79,m4,m2,m99等)。
這是一個假設-下拉列表中的水果列表是否對應於水果查詢? 即是以相同順序排列的相同水果嗎? 如果是這樣,您應該拋棄下拉列表,只保留鏈接(反之亦然)。
<!--- test.cfm --->
<cfquery name="qryFruits" datasoure="#dsn#">
Select values from Fruits_Table
</cfquery>
<table>
<cfoutput query="qryFruits">
<tr>
<td><a href="testAction.cfm?salesForce=m#qryFruits.CurrentRow#">Add #qryFruits.Values#</a></td>
</tr>
</cfoutput>
</table>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.