제출 버튼이 비활성화된 경우 텍스트 입력란에서 Enter 키를 누르면 양식이 어떻게 되는지
Chrome 및 Firefox에서 시도하면 양식이 제출되지 않습니다. 그런데 Safari(macOS도 iOS도)에서는 전송되어 버립니다. Rails적으로 말하면 data-disable-with를 사용하는 것만으로는 폼의 이중 전송을 막지 않는다는 것입니다.
이 거동은 HTML 사양에서는 어떻게 됩니까? 구구했는데, Stack Overflow에서 다음과 같은 설명에 갔습니다.
Consequently, if the default button is disabled, the form is not submitted when such an implicit submission mechanism is used. (A button has no activation behavior when disabled.)
htps //w w. w3. rg/TR/HTML5/Frms. html # mp
「폼은 제출되지 않는다」가 HTML5의 사양으로, Safari는 잘못되어 있는 것 같습니다.
현재의 사양서인 HTML Living Standard 를 보자. 텍스트 입력란에서 Enter를 누르는 이야기는 「4.10 Forms」의 「4.10.21.2 Implicit submission」(암묵의 제출)이라는 항에 적혀 있습니다.
"Consequently, if the default button is disabled, the form is not submitted when such an implicit submission mechanism is used."부분이 없습니다.
HTML Living Standard 의 텍스트는 Github의 저장소 로 관리되고 있습니다. 「Implicit submission」에 「Consequently...」의 문장이 있는지 없는지로 시기를 짜서 찾아가자, 다음의 커밋을 발견했습니다.
2016년 10월 21일에 "Consequently..."문장이 지워졌습니다. 그 이유는 관련 Issue 등을 조사하는 히마가 없기 때문에 모릅니다.
결론:
제출 버튼이 비활성화되면 Enter를 눌러도 양식이 제출되지 않는다는 결정은 HTML 사양 (HTML Living Standard)에 없습니다 (이전에는 있었다). Safari는 틀리지 않다.
대책:
나에게는 1.을 좋아하지만, 다른 사람에게는 알기 어렵다. 2.는 알기 쉽지만, 괄호 나쁜 생각이 든다.
Reference
이 문제에 관하여(제출 버튼이 비활성화된 경우 텍스트 입력란에서 Enter 키를 누르면 양식이 어떻게 되는지), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kazutosato/items/886fc3d19e65c68d1824텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)