2011-05-12 3 views
2

두 개의 (상호 배타적 인) 라디오 버튼과 그 사이에 다른 컨트롤이있는 양식이 필요합니다. 난 내가 이런 식으로 형성해야 할 의미 : 나는 두 개의 상호 배타적 인 라디오 버튼과 부울 필드를 만들 수있는 방법을 발견 enter image description here상호 배타적 인 radiobuttons 함께 장고 양식을 만드는 방법?

Here,하지만 난 어떻게 그들 사이에 다른 컨트롤을 삽입하는 방법 아무 생각이 없습니다.

답변

0

일부 클라이언트 측 JS와 함께 두 개 (또는 그 이상) 별도의 장고 (Django) 폼으로 나눠서 라디오 버튼을 클릭 할 때 각 필드 세트의 활성화/비활성화를 설정하는 것이 좋습니다 (자체는 장고 형태).

예를 들어보기에

class FormA(forms.Form): 
    some_field = forms.CharField() 
    other_field = forms.CharField() 

class FormB(forms.Form): 
    third_field = forms.CharField() 
    one_more_field = forms.CharField() 

: 템플릿에

def my_view(request): 
    form_a = None 
    form_b = None 

    if request.POST: 
     if request.POST['choice_field'] == 'a': 
      form_a = FormA(prefix='a', data=request.POST) 
      if form_a.is_valid(): 
       # do something 
     if request.POST['choice_field'] == 'b': 
      form_b = FormB(prefix='b', data=request.POST) 
      if form_b.is_valid(): 
       # do something 

    form_a = form_a or FormA(prefix='a') 
    form_b = form_b or FormA(prefix='b') 

    context = { 
     'form_a': form_a, 
     'form_b': form_b, 
    } 
    return render_to_response("my_form.html", context, RequestContext(request)) 

:

<form action="" method="post"> 
    <input type="radio" name="choice_field" value="a" /> 
    <ul> 
     {{ form_a.as_ul }} 
    </ul> 
    <input type="radio" name="choice_field" value="b" /> 
    <ul> 
     {{ form_b.as_ul }} 
    </ul> 
    <input type="submit" value="Submit" /> 
</form> 
관련 문제