2013-06-06 5 views
0

나는 사용자에게 퀴즈를 제출하는 양식을 가지고 있으며 그 답변에 따라 내가 말한 양식에 동적으로 추가해야하는 추가 질문을하고 싶습니다.Symfony 2.1의 폼에 동적으로 요소를 추가하십시오.

내가 지금까지 해왔 던 것은 사용자 답변 (트리거 질문에 표시되는 응답 ID가 포함 된 'triggerQuestionId'속성으로 식별 됨)에 의해 트리거되어야하는 질문을 제거한 것입니다.)이 quizz의 질문 목록에서 폼을 생성하고 원본과 같이 사용자에게 질문 표시 나뭇 가지에 내보기에 보내 확인 나는 Ajax 요청을 사용

<table> 
     <tbody id="table_body"> 
      {% for answer in form.answers %} 
        <tr id={{ answer.vars.value.question.id }}> 
         <td><span class="question">{{ answer.vars.value.question.title }}</span></td>    
         <td class="answer"> 
          {{ form_widget(answer.choice) }} 
         </td> 
        </tr>     
      {% endfor %} 
     </tbody> 
    </table> 
    {{ form_rest(form) }} 

어떤 질문을해야하는 경우 사용자가 질문에 대한 대답을 선택할 때 표시되며, 그렇다면 트리거 된 질문에 대해 위와 유사한 새 tr 요소를 만들어 테이블에 추가합니다.

그러나 양식을 게시 한 후 논리적으로 "오류 :이 양식에 추가 입력란이 없어야합니다."라는 오류 메시지가 나타납니다.

그래서 원래는 모든 질문을로드하고 'triggerQuestionId'가 null로 설정된보기에만 표시 할 것이라고 생각했습니다.

그러나 {{form_rest (form)}}을 (를) 유지하면 실행 된 질문이 표시되고 CSRF 토큰이 유효하지 않다는 오류 메시지가 표시되므로 제대로 작동하지 않습니다.

저는 아직 심포니에 관한 초보자입니다. 모름지 모르거나 생각하지 않은 훨씬 쉬운 방법이 있어야합니다.

필자는 자신을 충분히 분명하게 만들었지 만, 필요한 경우 정확성을 요청하는 것을 망설이지 말라.

미리 감사드립니다.

+0

{{form_row (_token)}}을 (를) 양식에 CSRF 토큰을 수동으로 포함하기 시작하면 더 이상 {{form_rest (form)}}을 사용할 필요가 없습니다. – AlterPHP

+0

시도했지만 Extra Fields 오류 어쨌든. 팁을 주셔서 감사합니다. 언젠가는 도움이 될 것입니다! – Streltsov

답변

1

collection Field Type을 살펴보십시오.

jQuery를 통해 기존 양식에 필드를 동적으로 추가하는 예제와 예제를 찾을 수 있습니다.

+0

그것은 내가 바라는 해결책이었습니다. 고마워요! – Streltsov