셀프 페이지에 HTML 양식 제출


103

HTML 양식을 자체 제출하고 싶습니다. action속성을 어떻게 사용 합니까?

  1. <form action="">
  2. <form action="#">
  3. <form action="some/address">
  4. <form>

어느 것이 더 낫습니까?


1
이 게시물을
보셨기를

문서의 <doctype>은 무엇입니까? 대답하는 데 도움이 될 것입니다.
Milche Patern 2013

단순한 액션 atribute를 사용하지
Milche patern입니다

답변:


124

2013 년에는 모든 HTML5 항목에서 'action'속성을 생략하여 양식을 직접 제출할 수 있습니다.

<form>

실제로 현재 HTML5 초안양식 제출 하위 섹션 에서는 action = ""(빈 속성)을 허용하지 않습니다. 사양에 위배됩니다.

에서 이 다른 스택 오버플로 대답 .


1
<? php $ _PHP_SELF?>를 사용했는데 action은 비워 둘 수 없다는 오류가 발생했습니다. 그냥 꺼
두세요

2
혼란 스럽습니다. action속성을 모두 제외하고 비워 두지 않는 것이 w3 유효 합니까?
아저씨 마틴

$ _GET 또는 $ _POST를 사용하여 매개 변수에 액세스해야합니까?
Black

21

작업 속성을 비워 둘 수 있습니다. 양식은 동일한 페이지에 자동으로 제출됩니다.

<form action="">

에 따르면 W3C 사양 , 액션 속성은 일반적으로 비어 있지 않은 유효한 URL이어야합니다. action 속성이 비어있는 일부 상황에 대한 설명도 있습니다.

요소의 작업은 요소가 제출 버튼이고 해당 속성을 가지고있는 경우 요소의 formaction 속성의 값이거나, 양식 소유자의 작업 속성 (있는 경우) 또는 빈 문자열입니다.

따라서 둘 다 여전히 유효하고 작동합니다.

<form action="">
<form action="FULL_URL_STRING_OF_CURRENT_PAGE">

청중이 html5 브라우저를 사용하고 있다고 확신하는 경우 action 속성을 생략 할 수도 있습니다.

<form>

'action'속성을 비워두고 유효성을 검사 할 수 있는지 확인할 수 있습니까?
Milche Patern 2013-08-26

4
유효성을 검사하지 않습니다. : 요소 양식의 속성 작업에 대한 잘못된 값 : 비어 있지 않아야합니다.
Azd325 2014

2
HTML5 사양에 따르면 빈 문자열은 작업으로 허용되지 않습니다. w3c.github.io/html/sec-forms.html#element-attrdef-form-action
Thomas

1
이것은 나를 위해 일하는 유일한 것입니다. <br/> link action 및 formaction 콘텐츠 속성 (지정된 경우)에는 공백이없는 유효한 URL 값이 있어야합니다.
JoelBondurant

XML의 유효성을 검사 할 수있는 유일한 사람은 귀하이기 때문에 "확인하지 않음"이라는 개념은 터무니 없습니다. 이것이 XML의 요점입니다. XML 문서에 적용하고 싶은 규칙을 DTD로 인코딩하고 XML 파서가 믿을 수 없을 정도로 어려운 구문 분석을 처리하도록합니다. 이것이 오늘날에도 XML이 중요한 이유 중 하나입니다. JSON, 텍스트, csv 등 원하는 모든 모델을 가져오고 해당 형식에서 XML로 간단한 변환기를 작성하고 해당 XML에 대한 DTD를 작성하고 필요한 것을 건너 뛸 수 있습니다. 자신의 유효성 검사기를 작성하기 위해 XML은 이미 그렇게했습니다!
Dmitry

21

사용 ?:

<form action="?" method="post">

사용자를 동일한 페이지로 다시 보냅니다.


굉장합니다!
beppe9000

3
별로 대단하지 않습니다. 현재 URL이있는 경우 모든 쿼리 문자열을 제거합니다.
OMA

1
쿼리 문자열을 제거하고 싶습니다 : 3
VoidZA

12

php를 사용하여 양식을 제출하는 경우 다음을 사용하십시오.

action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>"

보안을 위해.


-1

action 속성에서 동일한 페이지를 사용하여 수행 할 수 있습니다. action='<yourpage>'

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.