2013-07-06 2 views
1

견적 항목에 사용할 양식이 있습니다. 사용자는 현재 작업하고있는 양식에 필드 블록을 추가 할 수 있습니다.PHP는 양식 필드를 다른 필드와 연결합니다.

<div class="fields"> 
    <select name="landscaping[]"> 
     <option value="1">Rocks</option> 
     <option value="2">Other Rocks</option> 
    </select> 

    <select name="veneer[]"> 
     <option value="1">Veneer Rocks</option> 
     <option value="2">Other Veneer Rocks</option> 
    </select> 

    <input type="text" name="quantity[]"> 

</div> 

문제 아래의 코드를 고려하면 사용자가 베니어 또는 조경 있지만 두하지만 선택과 관련된 수량이있을 것이다 상관없이 하나를 선택할 수있다. 그리고 아마도 추가 매개 변수. 이 섹션의 각 인스턴스에서 베니어 또는 조경과 수량을 연관시키는 방법이 필요합니다.

+0

두 양식 선택 필드가 동시에 표시되거나 자바 스크립트 숨기기가 있습니까? – VictorKilo

+0

예 자바 스크립트 숨기기 – ed209

+0

kk, 답이 올 것입니다. – VictorKilo

답변

1

한 번에 요소 중 하나를 숨기려면 javascript를 사용하고 있으므로 값을 가져올 선택 필드의 값을 보유하는 숨겨진 필드도 포함합니다. 당신은 또한 가치가있는 것을 찾아 볼 수도 있지만, 아마 각각의 가치를 가질 수 있기 때문에 어떤 필드를 가져야하는지 확실히 알려주는 값을 보내는 것이 더 안전합니다.

$selection = $_POST[$_POST['selectedField']]; 

이 동적으로 selectedField 게시물의 값을 끌어 다음 올바른 선택 목록을 잡기 위해 사용됩니다 : 다음과 같은 양식 처리 페이지를 사용 뭔가 그런

<div class="fields"> 
    <select name="landscaping[]"> 
     <option value="1">Rocks</option> 
     <option value="2">Other Rocks</option> 
    </select> 

    <select name="veneer[]"> 
     <option value="1">Veneer Rocks</option> 
     <option value="2">Other Veneer Rocks</option> 
    </select> 

    <input type="text" name="quantity[]"> 

    <!-- This value should change depending on which one is currently visible --> 
    <input type="hidden" name="selectedField" value="landscaping"> 

</div> 

. 이 방법을 사용하면 위험 할 수 있습니다 ... POST 데이터를 살균하십시오!

+0

작동하지만 더 많은 입력란을 추가할수록 더 복잡해집니다. 네가 나에게 주었던 것을 받아 들일 수 있는지를 알게 될 것이다. 감사. – ed209

+0

즉석에서 생성 할 수있는 필드가 여러 개있을 수 있다고 말하는 것입니까? 이 문제를 해결하기 위해 내 대답을 수정합니다. – VictorKilo

+0

@ user1815207 업데이트 된 코드는 어떻습니까? 이렇게하면 몇 개가 추가 되더라도 올바른 필드를 가져올 수 있습니다. – VictorKilo

관련 문제