programing

Ajax를 통해 제출할 때 양식 태그를 사용하는 이유는 무엇입니까?

megabox 2023. 2. 23. 22:43
반응형

Ajax를 통해 제출할 때 양식 태그를 사용하는 이유는 무엇입니까?

철학적 질문:

javascript와 최신 브라우저가 필요한 웹 앱을 가지고 있다고 가정해 봅시다.따라서 점진적인 확장은 문제가 되지 않습니다.제 폼이 javascript를 통해 작성되고 데이터 업데이트가 모두 ajax POST와 PUT를 통해 이루어지는 경우, 제 컨트롤을 폼 태그로 감싸야 할 이유가 있을까요?의미적 또는 구조적 이유로 태그를 계속 사용할 경우 무시해야 할 액션 및 메서드 파라미터가 있어야 하는 이유가 있습니까?옛날부터의 유보처럼 느껴져요.

입력 내용을 폼태그 안에 랩함으로써 제공되는 중요한 사용자 경험 기능이 적어도1개 있어요

Enter 키를 누르면 폼이 전송됩니다.실제로 Mobile Safari에서는 이렇게 하면 키보드에 "Go" 버튼이 나타납니다.

입력 내용을 정리한 양식이 없으면 제출할 것이 없습니다.

물론 키 누르기 이벤트를 통해 엔터 키 동작을 제공할 수 있지만, 모바일 기기에서 이것이 작동할지 모르겠습니다.당신은 어떨지 모르겠지만 이벤트로 따라하기보다는 브라우저가 제공하는 의미론을 사용하는 것이 더 좋습니다.

의 경우, 당신은 '일부러', '일부러', '일부러'를 만 하면 .onsubmit의 이벤트로 AJAX를 하고 다음으로 AJAX를 합니다.return false실제 제출을 취소합니다.

.action=""라는 뜻 ('자기'라는 뜻),method필수가 은 「」입니다.기본값은 입니다.GET.

점진적 확장이 필요하지 않은 경우 이론적으로는 필요하지 않습니다.

반,는form는 몇 가지 시원한 그룹화 및 의미적 효과가 있습니다.이를 사용하여 양식 요소를 논리적으로 그룹화하고 스크립트가 특정 요소의 값을 더 쉽게 수집할 수 있습니다.

예를 들어, 사용자 입력을 Ajax-Submit 하려면 "이 폼의 모든 요소를 취해서 제출하자"라고 말하는 것이 "이 두 개의 입력과 이 세 개의 텍스트 영역을 선택하여 제출하자"라고 말하는 것보다 항상 쉽습니다., 이 된다.form태그가 존재합니다.

합니다.form을 제공합니다.

개인적으로는 AJAX에서 제출하는 것에도 폼 태그를 사용합니다.이것은 구문적으로 명확하고 특정 폼 내의 모든 입력을 쉽게 얻을 수 있기 때문입니다., 이렇게 .div아니면 제가 말씀드렸듯이 형식을 사용하는 것은 구문학적으로 좋습니다.

는, 덧여 a, a a a a a a a a a a a a의 내용을 합니다.form어떤 방법을 선택하든 접근성 문제가 있습니다.일화적인 증거는 Google이 순위에서 접근성을 고려한다는 것을 암시하므로, SEO가 걱정된다면 양식을 사용하여 올바르게 수행하세요.

개요: MVC, 심플한 웹 앱, 컴포넌트 지향의 리치 웹 앱에는 적합하지 않은 폼입니다.

이유: 폼은 다른 폼을 중첩할 수 없습니다.컴포넌트 지향 아키텍처의 큰 제한입니다.

세부사항:일반적인 MVC 어플리케이션에서는 폼이 매우 적합합니다.javascript와 AJAX를 많이 사용하고 컴포넌트가 많은 풍부한 복잡한 웹 어플리케이션에서는 폼을 좋아하지 않습니다.이유: 폼은 다른 폼을 중첩할 수 없습니다.그런 다음 각 구성 요소가 양식을 렌더링하면 구성 요소가 서로 중첩될 수 없습니다.아쉽다.모든 폼을 div로 변경하면 네스트할 수 있습니다.모든 파라미터를 취득하여 ajax에 전달하고 싶을 때는 항상 (jQuery를 사용하여) 다음 작업을 수행합니다.

$("#id_of_my_div").findv[name]).serialize();

(또는 기타 필터링)

다음 대신:

$("#id_of_my_form").serialize();

다만, 감상적이고 의미적인 이유로, 나는 divs가 형식 역할을 할 때, divs에 something_form이라는 이름을 계속 붙인다.

내가 、 볼는는는은야 。현재 웹 어플리케이션을 만들고 있습니다.<form>디세블로 할 수 있습니다(S. ", "JavaScript").e.preventDefault을 이용하다JavaScript를경우 JavaScript가 필요합니다.<form>태그는 필수는 아니지만 브라우저가 태그로 무언가를 해야 할 경우에 대비하여 태그를 유지하거나 일종의 클래스로 액세스 하는 것이 좋습니다.

안 써도 요, 안 돼요.<form>만약 당신이 순수 AJAX를 하고 있다면, 만약 당신이 미래에 갑자기 폴백 코드를 만들기로 결정한다면, 그것은 아이디어일 수도 있다.

제 의견으로는:의미론적인 이유로 사용하는 경우 의도한 대로 사용하십시오.액션 애트리뷰트는 적절한 형식이 필요합니다(빈 상태로 둘 수도 있습니다).또한 액션애트리뷰트를 설정하여 Ajax 콜 전에 읽어냄으로써 URI를 js 로직에서 분리할 수 있습니다.

왜 여기서 양식 태그를 사용할 필요가 있는지 모르겠습니다.폼 태그를 사용하는 유일한 이유는 (마크업을 검증하는 것을 제외하고) 사용자가 sumbit 입력 또는 버튼 태그를 사용하여 데이터를 "제출"하도록 하는 경우입니다.그럴 필요가 없다면 양식은 필요 없습니다.다만, 「유효한」마크업으로 간주될지는 확실하지 않습니다.쓰시면 그냥 하시면 됩니다.<form action="">as action 형식의 유일한 필수 입니다.하지만, 좋은 점을 지적해 주셨으면 합니다.웹 어플리케이션의 미래에는 더 이상 형식이나 기존의 제출 방법이 필요하지 않을 것입니다.hehe )

언급URL : https://stackoverflow.com/questions/6309214/why-use-a-form-tag-when-youre-submitting-via-ajax

반응형