2015-01-28 6 views
1

입력 요소에 양식을 제출하려면 양식 요소에 적어도 하나의 입력 유형 = "text"요소가 필요합니다.입력시 양식 제출 적어도 하나의 입력 유형 = "텍스트"요소가 필요함

여기 내 코드입니다 :

<form ng-submit="executeFunc()"> 
    <input type="text"/> 
    <input type="submit"/> 
</form> 

그러나 우리가 = "텍스트"요소 첫 번째 입력 유형이없는 경우, 오히려 우리가 라디오 버튼을 선택하거나 상자, 체크 박스가 있습니다. 이것이 시나리오라면 입력 후 양식을 제출하는 방법입니다.

W3C 표준에 따라 알고 싶습니다. 적어도 하나의 입력 유형 "텍스트"요소를 제공해야합니까?

답변

2

는 추가 질문에 관해서는 텍스트 "W3C 표준에 따라, 우리는이어야 하나 개의 입력 타입 제공해야" "요소를?"대답은 더 HTML 사양 필요하지 않다는입니다 양식은 Enter를 눌러 제출할 수 있습니다. 사양은 (희미하게) 어떤 브라우저 할 수 있습니다.

원래, 입력 필드를 채운 후 Enter 키를 눌러 텍스트 입력 필드 (및 방사능 버튼 및 확인란)가 하나만 포함 된 양식을 제출할 수 있다는 아이디어가있었습니다. 이는 간단한 양식, 일반적으로 검색 양식 또는 가입 양식에 유용하게 사용되어 사용자가보다 빠르게 작업을 수행 할 수있게 해줍니다.

나중에 아이디어는 여러 텍스트 입력 필드가있는 양식으로 확장되었습니다. 사용자가 입력해야하는 모든 필드를 채우기 전에 Enter 키를 누를 수 있기 때문에 종종 문제가 발생합니다. 그러나 이것은 현대 브라우저가 일반적으로 동작하는 방식입니다 (양식에 제출 단추가있는 경우).

사용자 에이전트가 경우 :

HTML5는 강하게 Implicit submission 섹션에서 일반적인 동작을 추천 (그러나 적합성에 대한 요구하지 않음)에 의해 전통에서 일탈하지만, 브라우저가 할 수있는 어떤 기술, 전통을 다음과 사용자가 암시 적으로 양식을 제출하도록 지원합니다 (예 : 필드가 포커스를받는 동안 일부 플랫폼에서는 암시 적으로 양식을 제출하는 동안 일부 플랫폼에서는 기본 버튼에 정의 된 활성화 동작이있는 양식의 양식을 제출) 사용자 에이전트가 합성 클릭 활성화 단계를 실행해야합니다. 기본값은 버튼입니다.

[...]

참고 :이 암시 적 양식을 제출 할 수있는 방법이있는 경우에만 사용할 수있는 웹 페이지는, 그래서 사용자 에이전트는 강하게 지원이

을에 권장

(원래의 질문에 대해서는 대답은 자바 스크립트에서 같은 일을 처리해야하고, @의 bardznusny의 대답은 그 일을 한 간결한 방법을 보여줍니다 것입니다.)

+0

Re : "* ... 양식에 제출 버튼이있는 경우 *". Safari, Firefox, Chrome 및 OmniWeb에서 테스트하는 경우 제출 버튼이 필요하지 않으며 단일 텍스트 입력 만 필요합니다. – RobG

+0

고마워요. @Jukka K. Korpela, – robieee

1

enter 키를 누를 때마다 제출 버튼에 click 이벤트 만 트리거하면됩니다.

$(document).keypress(function (e) { 
    if (e.keyCode === 13) { 
    $('input[type="submit"]').click(); 
    } 
}); 

http://jsfiddle.net/1eLyeghh/1/

+0

참고가 [* event.which *] (HTTPS : // dev eloper.mozilla.org/ko-ko/docs/Web/API/KeyboardEvent.which)은 더 이상 사용되지 않으며 [* event.keyCode *] (https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent.keyCode) 대신 사용해야합니다. 또한'document.forms [0] .submit()'을 고려하십시오. – RobG

+1

이 질문은 원래 질문에 대한 정답입니다 (이제는 다른 질문도 포함하도록 수정 됨). 'document.forms [0] .submit()'을 사용하는 것도 가능하지만 일반적인 HTML 폼 제출 작업 (HTML5 폼 데이터 유효성 검사,'onsubmit' 핸들러)이 무시됩니다. –

+0

@bardzusny : W3C 표준에 따라 알고 싶습니다. 적어도 하나의 입력 유형 "텍스트"요소를 제공해야합니까? – robieee

관련 문제