2013-02-22 5 views
2

cfform의 양식 값을 cfpdfform을 사용하여 PDF로 전달하려고합니다. 첫 번째와 마지막 이름을 가져 오기 위해 50 개의 레코드를 반복하는 작은 테스트 페이지가 있습니다. 나는 그걸 pdf 필드에 끌어들이려고 노력하고있다. 현재는 firstname 필드에 50 개의 첫 번째 이름을 넣고 pdf의 lastname 필드에는 lastnames를 모두 넣습니다. 나는 제출 버튼과 결혼하지 않았지만 더 나은 선택은 무엇입니까?ColdFusion - 여러 필드와 여러 제출 버튼이있는 cfloop 사용

내 마지막 반복에서는 약 100 개의 필드를 가져옵니다.

--Form--

<cfform name="autopdf" method="POST" action="automated_pdf_submit.cfm" enctype="multipart/form-data"> 
     <h1>Select a state to insert into a PDF form</h1> 
     <div class="center"> 
      <select name="pdfselect" id="pdfselect"> 
       <option value="" selected>--Select State--</option>     
       <option value="FROI_NY.pdf">New York</option> 
       <option value="FROI_PA.pdf">Pennsylvania</option> 
      </select> 
      <cfinput type="hidden" name="statevalidate" onValidate="yourFunction" 
        message="YOU MUST SELECT A STATE TO CONTINUE!"> 
     </div> 
     <table align="center" style="width:400px"> 
      <tr> 
       <th></th> 
       <th>First Name</th> 
       <th>Last Name</th> 
       <th>Export to PDF</th> 
      </tr> 
      <cfoutput> 
      <cfloop query="#qryPersons#" startrow="1" endrow="50" > 
       <tr class="#IIf(CurrentRow Mod 2, DE('rowOdd'), DE('rowEven'))#" onmouseover="this.className='rowHighlight'" 
        <cfif CurrentRow Mod 2>onmouseout="this.className='rowOdd'" 
        <cfelse>onmouseout="this.className='rowEven'"</cfif>> 
         <td>#qryPersons.CurrentRow#</td> 
         <td>#qryPersons.LastName#</td> 
         <input type="hidden" name="FirstName" value="#qryPersons.LastName#"> 
         <td>#qryPersons.FirstName#</td> 
         <input type="hidden" name="LastName" value="#qryPersons.FirstName#"> 
         <td style="width:50px"><input type="submit" value="Create PDF"</td> 
       </tr> 
      </cfloop> 
      </cfoutput> 
     </table> 
</cfform> 

--Action--

<cfpdfform action="populate" source="forms\#form.pdfselect#"> 
    <cfpdfformparam name="FirstName" value="#form.FirstName#"> 
    <cfpdfformparam name="LastName" value="#form.LastName#"> 
</cfpdfform> 
+0

여기서 질문은 무엇입니까? 그것은 당신의 질문에서 일하는 것 같습니다. – Busches

+0

@Busches 모든 첫 번째 이름을 양식으로 가져옵니다. 페이지 및 pdf의 이미지는 다음과 같습니다. http://imgur.com/KZ4HEiE,VIjlgDz – Macness

+0

아, 그러면 매트의 대답이 문제를 해결합니다. – Busches

답변

5

양식 필드는 모든 당신이 그 고유의

<cfloop query="#qryPersons#" startrow="1" endrow="50" > 
<tr class="#IIf(CurrentRow Mod 2, DE('rowOdd'), DE('rowEven'))#" onmouseover="this.className='rowHighlight'" 
    <cfif CurrentRow Mod 2>onmouseout="this.className='rowOdd'" 
    <cfelse>onmouseout="this.className='rowEven'"</cfif>> 
    <td>#qryPersons.CurrentRow#</td> 
    <td>#qryPersons.LastName#</td> 
    <input type="hidden" name="FirstName#qryPersons.currentrow#" value="#qryPersons.LastName#"> 
    <td>#qryPersons.FirstName#</td> 
    <input type="hidden" name="LastName#qryPersons.currentrow#" value="#qryPersons.FirstName#"> 
    <td style="width:50px"><input type="submit" value="Create PDF"</td> 
    </tr> 
</cfloop> 

을해야 LastNameFirstName 이름을 지정하고있다 필자는 전에 cfpdfform을 사용한 적이 없지만이 구문을 사용해야합니다. 동적으로 name 속성의 이름을 지정해야 할 수도 있습니다.

<cfpdfform action="populate" source="forms\#form.pdfselect#"> 
<cfloop from="1" to="50" index="i"> 
    <cfpdfformparam name="FirstName" value="#form['FirstName'&i]#"> 
    <cfpdfformparam name="LastName" value="#form['LastName'&i]#"> 
</cfloop> 
</cfpdfform> 
+0

그는 한 번에 하나의 이름 만 전달하기를 원한다고 생각합니다. 그래서 그는 폼을 각각의 주위로 움직여야하므로 50 개의 폼 태그를 갖게됩니다. – Busches

+0

@matt 여러 개의 pdfs 파일을 만들지 않겠습니까? 나는 단지 내가 클릭하는 것을 통과하기를 원한다. 참조 용으로 다음 두 이미지를 참조하십시오. http://imgur.com/KZ4HEiE,VIjlgDz – Macness

+0

그러면 양식 외부에 루프를 이동해야하므로 페이지에 50 개의 양식 필드가 있습니다. –