0

CF ページを表示するときにエラー メッセージの根本的な原因を見つけようとしていますが、ページは引き続き正しく機能します。今、謝らなければなりません。CFを使って3日目です。どんな助けにも本当に感謝します

 <cfsetting showDebugOutput="Yes">
<form id="form1" name="form1" method="post" action="">

  <label for="Chris3">Please Select.<br />
  </label>
  <select name="Chris3" id="Chris3">
    <option value="COOKWARE/CUTLERY">COOKWARE/CUTLERY</option>
    <option value="BAKEWARE/ ELECTRICS">BAKEWARE/ ELECTRICS</option>
    <option selected="selected">Please Select one</option>
  </select>
  <input type="submit" name="SUBMIT" id="SUBMIT" value="Submit" />
</form>
<p>
<cfset Chris3 ="Form.Chris3">
  <cffile action="append"
  file="C:\Inetpub\wwwroot\PURGE\WS\DEPTM.txt"
  output="#Chris3#">

エラーメッセージ:

次の情報は、デバッグ目的で Web サイト開発者を対象としています。

リクエストの処理中にエラーが発生し
ました 変数 CHRIS3 は定義されていません。

The error occurred in C:\Inetpub\wwwroot\PURGE\WS\PURGE.cfm: line 29

27 :   <cffile action="append"
28 :   file="C:\Inetpub\wwwroot\PURGE\WS\DEPTM.txt"
29 :   output="#Chris3#">
30 : </p>
31 : <p>Below are Departments that have finished reviewing the purge</p>


--------------------------------------------------------------------------------

Resources: 
Check the ColdFusion documentation to verify that you are using the correct syntax. 
Search the Knowledge Base to find a solution to your problem. 


Browser   Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; Trident/4.0; .NET CLR 1.1.4322; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET CLR 3.5.30729; .NET4.0C; .NET4.0E) 
Remote Address   192.168.97.38 
Referrer    
Date/Time   06-Apr-12 03:30 PM 

Stack Trace (click to expand)
4

2 に答える 2

2

次の 2 つの問題があるようです。

最初の問題は、変数を設定する場所ですChris3。フォームに渡された値と等しくしたい場合は、使用する必要があります

    <cfset Chris3 = form.Chris3 /> 

.. 今書いた方法では、入力された値としてリテラル文字列 "form.Chris3" を保存しています。

2 つ目は、フォームが送信されるまでフィールドが存在しないことです。これを処理するには、次の 2 つのいずれかを実行できます。cfparamスコットが提案したようにを追加して、値が常に定義されるようにします。

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

または、変数に値を設定する前に、フォームが送信されたかどうかを確認するチェックを追加できます。

 <cfif StructKeyExists(form,'Chris3')> 

使用した場合は<cfparam>、代わりにフィールドの長さを確認してください。

 <cfif Len(Trim(form.Chris3))>

未定義の値が表示される限り、コードに問題はありません。それをコピーして貼り付けたところ、私のマシンでは問題なく動作しました。

于 2012-04-07T00:44:19.873 に答える
0

ページの上部に値 form.chris3 を設定 (またはパラメーター) しない限り、フォーム スコープが空である可能性が高いため、そのページを初めて実行したときにこのエラーが発生することが予想されます。フォームが送信されると、期待どおりに機能します。

何をしようとしているのかわかりませんが、CFFILEを実行する前に「form.chris3」の存在をチェックするCFIFにCFFILEをラップします(または「form.chris3」の値を「chris3」に設定します)。

于 2012-04-07T00:25:06.670 に答える