Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何使用Coldfusion 8将选择选项中的文本(而不是值)指定给变量?_Javascript_Variables_Coldfusion_Coldfusion 8 - Fatal编程技术网

Javascript 如何使用Coldfusion 8将选择选项中的文本(而不是值)指定给变量?

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

这里的问题不是如何检索文本,而是如何将文本字符串分配给ColdFusion变量! 我需要这个:

 <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-当你有机会时,你应该发布实际分辨率作为答案-或者你可以删除高度本地化的线程。