0

複数のフィールドを持つ cfform があり、onpage post メソッドを使用して、ユーザーのエントリから収集した情報をセッションに投稿し、登録プロセスの各ページに渡します。

私の人生で理解できないことは、おそらく簡単なことです。ハードコーディングされたオプションがある場合、選択したものをセッションに渡すにはどうすればよいですか? 次のページで選択した値を表示しようとすると、session.house.main.form.saletype is undefined エラーが発生することがあります。他のすべてのフォーム フィールドは正常に表示されます。

コードをチェックしやすくするために、他のすべてのフォーム フィールドを削除しました。

    <cfif not structKeyExists(session.house, "main")>
        <cfset session.house.main= {saletype="",
                                    name=""}>
    </cfif>

    <cfparam name="form.saletype" default="#session.house.main.saletype#">
    <cfparam name="form.name" default="#session.house.main.name#">

    <cfif structKeyExists(form, "submit")>
            <cfset session.house.main = {saletype=form.saletype,
                                         name=form.name}>
    <cflocation url="page2.cfm" addtoken="false" />
    </cfif>

    <cfform method="post">
    <cfselect name="saletype" size="1">
                        <option value="Lease" selected>Lease</option>
                        <option value="Rent Now">Rent Now</option>
                    </cfselect><br />
   <cfinput type="text" name="name" id="name" value="#form.name#" required="yes" message="Please enter your name"><br />
        <cfinput type="submit" name="submit" id="submit" value="Save"><br />
        </cfform>

編集: cfselect 名を修正しました。ハードコーディングされた 2 つのオプションを使用して、form.saletype を cfselect に設定するにはどうすればよいですか?

4

0 に答える 0