Переменные сессии Coldfusion - PullRequest
0 голосов
/ 22 июля 2011

У нас есть список, который динамически заполняется запросом. Когда мы выбираем значение в списке и отправляем форму, результаты отображаются на той же странице. Теперь мы хотим сохранить значение, выбранное в список при отправке формы. Как мы пойдем по этому поводу? Мы попытались установить переменную в сеансе с кодом ниже: Сессия: # session.sPcwQua #

Теперь, как мы используем переменную сеанса, которая установлена ​​в нашем случае session.sPcwQua в списке, чтобы выбранное значение в списке сохранялось.

Ответы [ 2 ]

0 голосов
/ 26 сентября 2013

Если у вас есть особая необходимость «сохранить значение» и вы хотите установить переменную session.sPcwQua, вы можете попробовать это:

<cfif isDefined("form.sPcwQua")><cfset session.sPcwQua = form.sPcwQua></cfif>

<cfquery name="getsPcwQua" datasource="yourdsn">
    select x from tablex
</cfquery>

<form name="someform" action="">

    <select name="sPcwQua">
        <cfloop query="getsPcwQua">
            <option value='#getsPcwQua.x#' <cfif getsPcwQua.x eq session.sPcwQua >selected</cfif> >#getsPcwQua.x#</option>
        </cfloop>
    </select>

</form>

Если вы просто пытаетесь отправить форму и вернуть значение элемента, чем выдолжен делать то, что говорит Seasn:

<cfset fsPcwQua="" />
<cfif isDefined("form.sPcwQua")><cfset fsPcwQua = form.sPcwQua></cfif>

<cfquery name="getsPcwQua" datasource="yourdsn">
    select x from tablex
</cfquery>

<form name="someform" action="">

    <select name="sPcwQua">
        <cfloop query="getsPcwQua">
            <option value='#getsPcwQua.x#' <cfif getsPcwQua.x eq fsPcwQua >selected</cfif> >#getsPcwQua.x#</option>
        </cfloop>
    </select>

</form>
0 голосов
/ 22 июля 2011

Возможно, вы хотите использовать область формы, а не область сеанса: задайте значения по умолчанию для вашей формы:

 <cfparam name="form.sPcwQua" default="" />

запустите ваш запрос:

 <cfquery name="getsPcwQua" datasource="...

заполните поле выбора:

<select name="form.sPcwQua">
    <cfloop query="getsPcwQua">
    <cfif form.sPcwQua eq getsPcwQua.value>
          <cfset selected = 'selected="selected"' />
    <cfelse>
          <cfset selected = '' />
    </cfif>
    <option value='#getsPcwQua.value#' #selected#>#getsPcwQua.value#</option>
    </cfloop>
</select>

[возможно, придется проверить там какой-то синтаксис - потому что я этого не сделал; t;)]

-sean

...