如何保持ColdFusion中选择的下拉选项

时间:2019-08-27 20:04:04

标签: coldfusion cfml

在我的订单页面上的下拉菜单中,所选文本不会保持选中状态。

我已经在我们的订单页面上添加了一个下拉菜单,以选择“ UPS帐号”或“ FedEx帐号”,然后显示一个输入框供用户输入其帐号。带有此下拉菜单的onChange事件。单独运行在页面上的效果很好,但是当我尝试在订购页面上使用它时,下拉菜单中的选定文本不会保持选中状态。如果我将cfset更改为page .ShipAcctMethod,它会出错。

<cfif isDefined('form.ShipAcctMethod') 
    AND form.ShipAcctMethod NEQ "">
   <cfset form.ShipAcctMethod = form.ShipAcctMethod>
</cfif>
<select name="ShipAcctMethod" required="yes" onChange="this.form.submit()">
   <option value="" selected>Shipping Account</option>
   <option value="UPSNumber" <cfif isDefined('page.ShipAcctMethod') 
        and form.ShipAcctMethod eq 'UPSNumber'>selected</cfif>>
       UPS Account Number
   </option>
   <option value="FedExNumber" <cfif isDefined('page.ShipAcctMethod') 
        and form.ShipAcctMethod eq 'FedExNumber'>selected</cfif>>
      FedEx Account Number
   </option>
</select>
<br><br>

<!--- Choose a selection --->
<cfif isDefined('form.ShipAcctMethod') and 
        form.ShipAcctMethod eq 'UPSNumber'>
    <input type="text"  maxlength="100"  
       size="30"name="UPSNumber" 
       placeholder="UPS Account Number" required>
    </td>
    </tr>

<cfelseif isDefined('form.ShipAcctMethod') 
       and form.ShipAcctMethod eq 'FedExNumber'>
    <input type="text"  maxlength="100"  
       size="30"name="FedExNumber" 
       placeholder="FedEx Account Number" required>
    </td>
    </tr>

我需要选定的文本才能保持选中状态,因为这是用户必须选择的要求。如何使所选文本保持选中状态?

1 个答案:

答案 0 :(得分:1)

对不起,我没有评论能力,因为我没有50分的声​​誉,因此我将其作为答案。正如Ageax所说,问题是因为isDefined('page.ShipAcctMethod')应该是isDefined('form.ShipAcctMethod')。因此,条件将始终为false,并且永远不会为这些选项设置“ selected”属性。