当我在 Java 脚本中添加时,标签 cfselect 的上下文验证错误



当我正常运行CFSELECT时,它可以完美运行,但是当我在javascript中添加时,它会出错。

正常的一个 它有效。

<tr id='selectionDropdown'>
    <td >Non-Keyword Traffic:</td>
      <td>
        <cfif Session.ID eq Session.userID>
           <cfselect name="nonkeyword" multiple="true"  query="GetCodes" display="Code" value="Code" selected=#Form.nonkeyword#  >
            </cfselect>
        </cfif> 
      </td>
</tr>

它不起作用

//The non keyword and all are checked
<td id='selectionDropdown'></td>
<cfoutput>    
function ShowDropdown(){
                if($('##nonKeyword').is(':checked') && !$('##all').is(':checked'))
                {
                    $( "##selectionDropdown" ).empty();
                    $( "##selectionDropdown" ).append( "<td>Non-Keyword Traffic:</td><td><cfif Session.ID eq Session.userID><cfselect name='nonkeyword' multiple='true'  query='GetCodes' display='Code' value='Code' selected='#Form.nonkeyword#'  ></cfselect></cfif></td>" );
                }
    }
</cfoutput>

在浏览器中,我收到错误。

<td id='selectionDropdown'>Context validation error for tag cfselect.<td>

因为我得到了一些评论和答案。我正在编辑我之前尝试过的不是使用 CFSELECT。

当它可以执行这个时,为什么不使用CFSELECT

if($('##nonKeyword').is(':checked') && !$('##all').is(':checked'))
            {
                $( "##selectionDropdown" ).empty();
                $( "##selectionDropdown" ).append( "<td>Non-Keyword Traffic:</td><td><cfif Session.ID eq Session.userID><select name='nonkeyword' multiple='true' selected='#Form.nonkeyword#'  ><cfloop query='GetCodes'><option value='#code#'>#code#</cfloop></select></cfif></td>" );
            }

你不能把CFML写到屏幕上,希望它能神奇地执行!这是你的问题。

本文"CFML请求/响应过程"对此进行了彻底的解释,但是 - 最重要的是 - CFML需要在执行之前进行编译,这需要由CFML服务器完成,而不是客户端浏览器。

最新更新