2012-05-05 17 views
0

X個のフィールドを検証する必要があります。私が必要フォームフィールド名の値を増やす

testField1 
testField2 
testField3 

など:各フィールドは1

だから基本的に私が形に持っているものの名​​前のフィールドであることをXである「testFieldX」、任意の実数が大きいという名前ですそれらのすべてを反復して検証します。

5つのフィールドがあるとします。

その後

<cfloop index="i" from="1" to="5"> 
    <cfif form.testField & i EQ ""> 
     Show error 
    </cfif> 
</cfloop> 

それは動作しませんが。フィールド名 "testField"が存在しない、つまりtrue(唯一のtestField1 +)が存在するというエラーが表示されます。物事は連結していないようです。それは文字列でのみ機能しますか?

どうすればこの問題を解決できますか?

答えて

6

あなたは後にしている構文は次のとおりです。あなたが期待しているとして、文字列を連結します

<cfif form["testfield" & i] EQ ""> 

+0

2分でビートします。 – Paul

+0

ありがとうございました。 – Eleeist

2
<cfif structKeyExists(form,"test1")> 
    <cfloop from="1" to="3" index="i"> 
     <cfif form["test" & i] eq ''> 
      Error : <cfoutput>#i#</cfoutput><br /> 
     </cfif> 
    </cfloop> 
</cfif> 

<form name="sub" method="post"> 
    Test1: <input type="text" name="test1" id="test1" /><br /> 
    Test2: <input type="text" name="test2" id="test2" /><br /> 
    Test3: <input type="text" name="test3" id="test3" /><br /> 
    <input type="submit" value="Submit" /> 
</form> 
関連する問題