태그 HTML 양식에서 단추가 데이터를 보내는 이유는 무엇입니까?




jsp form action (4)

이것은 매우 기본적인 질문이지만, 그곳에있는 누군가가 이유를 알 것이라고 확신합니다. HTML에서 버튼 요소를 .click() 만들고 onclick 을 지정하지 않고 jQuery .click() 하지 않으면 버튼이 아무 것도하지 않습니다. 완전한. 그러나이 작업과 <form> 요소 내부의 버튼을 사용하면 모든 양식 요소의 GET 데이터를 내 웹 사이트의 루트 주소로 보내려고합니까? 왜 그 일을하는거야? 나는 그것을 제출 버튼으로 만들지 않았고 심지어 그 폼에서 methodaction 을 정의하지 않았습니까?

미리 정보 주셔서 감사합니다!

** 편집하다 **

이것이 제가 문제를 해결하기 위해 한 일입니다. <form> 안에있는 버튼의 경우 다음을 사용하십시오.

<button type="button"></button>

그리고 기본적으로 아무 것도하지 않습니다.


이 방법은 서버 쪽에서 WHICH 버튼을 눌렀다는 것을 알아야하기 때문에 설계되었습니다. 버튼없이 버튼 기능을 원하면 스타일이 지정된 A 태그를 사용하십시오.


MDN 항목에서 볼 수 있듯이 버튼 요소의 type 속성에 대한 기본값은 submit 입니다. 따라서 이것을 생략하거나 button 또는 reset 변경하지 않으면 기본 비헤이비어가 시작되고 양식이 제출됩니다.

<form action="">
  <button type="button">Nothing will happen</button>
  <button>Form gets submitted</button>
</form>

버튼은 양식에서 제출 컨트롤로 취급되며 이유는 확실하지 않습니다.

루트에 게시되는 이유는 action 지정하지 않았으므로 기본값이 사용 되었기 때문입니다.

GET을 사용하는 이유는 그것이 기본 method 이기 때문입니다.

오류를 방지하려면 return false; 추가하십시오 return false; 버튼의 onclick 끝까지


제출 버튼으로 만들지 않았다.

<button> 요소에는 type 특성이 있습니다. 기본값은 submit 입니다. 양식을 제출하지 않으려면 type="button" 설정하십시오.

또는 메소드 정의

method 기본값은 GET

또는 그 형태의 위치 ??

action 기본값은 현재 URI입니다.







button