2009-06-14 2 views

답변

10

나는 신원을 게시하지 않는다고 생각합니다. form 태그의 action 속성에 대해

<form id="form1"> 
    <input type="hidden" name="formName" value="form1"/> 
    <input type="submit" value="submit" /> 
</form> 
<form id="form2"> 
    <input type="hidden" name="formName" value="form2"/> 
    <input type="submit" value="submit" /> 
</form> 
+12

또한 버튼을 제출하고 형태를 식별하기 위해 그것을 사용하는 이름을 지정할 수 있습니다. – che

2

무엇 : 어떤 형태로 게시 알고 코드를 가지고하는 가장 쉬운 방법은 같은 형태를 식별 각 양식에 숨겨진 필드를 넣어하는 것입니다?

다른 form 인스턴스에 다른 action 속성 (각각 다른 URI 값이 있음)을 지정할 수 있다고 추측했을 것입니다.

또한 제출 버튼에 name 속성을 추가하는 것 : +1하면 "성공한"(즉, 클릭 된) 제출 버튼의 이름이 양식의 이름 문자열에 추가됩니다 서버로 돌아갑니다.

야곱의 대답에 체의 코멘트에서 언급 한 바와 같이
3

:

<form id="form1"> 
    <input type="submit" value="submit" name="form1" /> 
</form> 
<form id="form2"> 
    <input type="submit" value="submit" name="form2" /> 
</form> 

그리고 양식 처리 스크립트 :

if(isset($_POST['form1']){ 
    // do stuff 
} 

이 아약스를 통해 양식을 제출하지 않을 경우 내가 사용하는 것입니다.

1

"rpflo"가 사용하는 방식은 양식을 식별하지 않습니다. 여기서 $_POST['form1']은 id = "form1"인 양식이 아닌 name = "form1"인 입력에 해당합니다.

한 페이지에 두 개의 양식을 식별하는 두 가지 합리적인 방법이 있습니다. 은 먼저 action="mypage.php?form_id=1"과 같이 GET 변수를 추가하여 '조치'속성을 통해 전달됩니다. 그리고 두 번째 방법 인 imho는 더 실용적입니다. 모든 입력의 이름을 배열과 같이 지정하는 것입니다. 예를 들어 :

<form> 
    <input name="form1[first_name]" /> 
    <input name="form1[last_name]" /> 
</form> 
<form> 
    <input name="form2[first_name]" /> 
    <input name="form2[last_name]" /> 
</form> 

는 다음 $ _POST이 [ 'Form1을'] [ 'FIRST_NAME'] 등등 ..