2010-06-01 7 views
0

이 가장 좋은 방법은이 시나리오에서 무엇에 관한 합의를 얻을 수 하시겠습니까 :PHP : 취급 여러 제출 버튼

Muliple 버튼을 제출,을 제출 각각에 대해 별도의 양식을함으로써이 문제를 처리하는 것이 좋습니다 또는 하나의 양식을 가지고 어떤 버튼이 눌러 졌는지 확인하는 것이 좋습니까?

는 귀하의 의견 주셔서 감사합니다 : D

+0

'마법사'유형 인터페이스를 생성하지 않으시겠습니까? 다음 버튼과 이전 버튼은 제출 버튼과 같은 역할을합니다. –

답변

0

글쎄, 양식의 내용에 따라,이 버튼은 당신이 원하는 것을 달성 할 수있는 유일한 방법이 될 것이다 제출 필요. (텍스트 상자가있는 경우 어떻게 2 개의 폼을 가질 수 있습니까? 자바 스크립트로 입력 된 데이터를 복제하는 것은 다소 짜증이납니다.)

어떤 버튼이 눌려 졌는지 확인하는 것이 훨씬 쉽습니다.

0

물론 그것은 항상 목적에 달려 있습니다. 버튼 제출 중 하나에 의해 제출 될 양식 필드 가있는 경우

  • , 자바 스크립트를 사용하고 핸들러를 누르면 제출 버튼을 감지 : 그러나, 어림짐작으로, 나는 자연의 일을.
  • 다른 모든 경우에는 다른 양식을 사용하십시오.

    1. 입력 이름 변경은 제출 대상 페이지의 모두에 영향을하고 <form action="blah"> 페이지에서 모두 변경해야합니다 :

나는 등 합병 형태 (첫 번째 옵션)을 피하기 위해보십시오.

  • 자바 스크립트는 항상 브라우저에서 사용할 수 없습니다
  • 2

    단지 각 버튼의 값을 변경하고 POST의 존재를 확인, 당신은 전적으로 PHP에서이 일을하고 가정 :

    if (isset($_POST['button1']) && $_POST['button1'] == "Previous") { 
    
        // do something 
    
    } else if (isset($_POST['button1']) && $_POST['button1'] == "Next") { 
    
        // do something else 
    
    } else { 
    
        // nothing has been submitted, display default 
    
    } 
    
    2

    를 내 경우에는 앤드류 히스 (Andrew Heath)와 비슷한 방식으로 할 것이지만 버튼에 고유 한 이름을 붙이십시오. 따라서 & & 절이 필요하지 않습니다.

    +1

    그건 분명히 효과가 있으며 실제로 제가하는 일입니다. 나는 "하나의"버튼이 같은 형태로 여러 가지 일을 할 수있는 능력을 강조하기 위해 같은 이름으로 갔다. – Drew