Javascript 如何使用Coldfusion 8将选择选项中的文本(而不是值)指定给变量?
这里的问题不是如何检索文本,而是如何将文本字符串分配给ColdFusion变量! 我需要这个:Javascript 如何使用Coldfusion 8将选择选项中的文本(而不是值)指定给变量?,javascript,variables,coldfusion,coldfusion-8,Javascript,Variables,Coldfusion,Coldfusion 8,这里的问题不是如何检索文本,而是如何将文本字符串分配给ColdFusion变量! 我需要这个: <cfset myVariable = "the selected TEXT from my HTML SELECT control"> <option value="1">Manufacturer IBM</option> 以下是我尝试过的: <cfif IsDefined("Form.formCommand")> <cfif Fo
<cfset myVariable = "the selected TEXT from my HTML SELECT control">
<option value="1">Manufacturer IBM</option>
以下是我尝试过的:
<cfif IsDefined("Form.formCommand")>
<cfif Form.formCommand eq "save">
...
<script type="text/javascript">
document.getElementById('hiddenManufacturerName').value = GetTextFromSelect('manufacturerId');
</script>">
<cfset ManufacturerName = Form.hiddenManufacturerName>
<cfdump var="#ManufacturerName#"><br>
<cfabort>...
function GetTextFromSelect(selectElementId)
{
var objSelect = document.getElementById(selectElementId);
var theText = "";
if (objSelect.selectedIndex != -1)
{
theText = objSelect.options[objSelect.selectedIndex].text;
}
return theText;
}
<option value="1">Manufacturer IBM</option>
当我转储上面的变量时,会得到一个空字符串
<option value="1">Manufacturer IBM</option>
旁注:
我确实找到了一个解决方案,您可以在value属性中添加文本,然后检索它,例如,而不是
<option value="1">Manufacturer IBM</option>
请执行以下操作:
<option value="1">Manufacturer IBM</option>
<option value="1, Manufacturer IBM">Manufacturer IBM</option>
我不想走那条路,也不想走这条路。
一定有办法做到这一点
<option value="1">Manufacturer IBM</option>
谢谢您似乎正在尝试预选一个下拉菜单:
<option value="1">Manufacturer IBM</option>
<select name="ManufacturerName">
<cfoutput query="qryManufacturer">
<option value="#ManufacturerID#">
<cfif ManufacturerID EQ form.ManufacturerID>selected</cfif>
#ManufacturerName#</option>
</cfoutput>
</select>
我认为你误解了这一连串的事件。CF首先在服务器上执行。当任何javascript代码运行时,CF代码已经很长时间完成了。如果你想获取列表文本,你必须在提交表单之前运行javascript代码将文本保存在表单字段中。为什么你不想使用你发现的有效方法呢?嗯?提交表单后调用javascript代码不会在下一行填充CF表单变量。有效的方法不涉及javascript。哦,你是指组合值/文本方法:/Phew。你吓了我一跳-不,问题是:如何将文本字符串分配给ColdFusion变量!James,我有一个名为'manufacturerId'的HTML选择控件,我试图在提交表单后获取所选值的文本。我不是一个ColdFusion开发人员,所以ColdFusion语法对我来说是相当新的。现在你的回答为我指明了正确的方向;我将检查SELECT标记在Adobe站点中的作用。我不太懂上面的语法。我知道你正在遍历所有值并检查它们是否被选中,这很奇怪…我的意思是语法-thanks@Max-这真的与ColdFusion无关。CF仅显示通过method=POST提交的内容。是一个HTML元素,其行为由而不是Adobe文档决定。根据规范,只提交列表值,不提交文本。如果要提交文本,则必须在提交表单之前将其存储在单独的元素中。然后它将在CF表单变量中访问。Leigh,我没有误解事件的顺序,我只是累了。我有我的.Net项目,现在正在帮助一个ColdFusion项目进行维护,因为该员工离开了公司……不管怎样,在发布之前,我将值存储在一个隐藏字段中。我是通过OnChange事件为selecthtml控件做的…不记得为什么我删除了它。。。感谢你让我回到正轨…我将从表单字段中检索值,隐藏的字段-ThanksMax-当你有机会时,你应该发布实际分辨率作为答案-或者你可以删除高度本地化的线程。