> 웹 프론트엔드 > CSS 튜토리얼 > 양식 제출을 방지하고 텍스트 영역에서 Shift Enter를 사용하여 새 줄을 만드는 방법은 무엇입니까?

양식 제출을 방지하고 텍스트 영역에서 Shift Enter를 사용하여 새 줄을 만드는 방법은 무엇입니까?

Susan Sarandon
풀어 주다: 2024-12-04 18:09:12
원래의
463명이 탐색했습니다.

How to Prevent Form Submission and Create a New Line with Shift Enter in a Textarea?

텍스트 영역에서 "Shift Enter"를 감지하고 새 줄을 생성하는 방법은 무엇입니까?

양식 제출에서 Enter 키를 누르면 일반적으로 양식 제출이 트리거됩니다. . 그러나 많은 텍스트 영역에서는 대신 Shift Enter를 눌러 새 줄을 만들 수 있도록 하는 것이 바람직합니다.

해결책 1: 양식 제출 스크립트 수정

특정 스크립트로 인해 Enter 키를 누르면 양식이 제출됩니다. 해당 스크립트를 찾아 Shift 없이 Enter 키를 눌렀을 때만 제출하도록 수정하세요. 예를 들어 다음 코드를 다음과 같이 변경하세요.

if (evt.keyCode == 13) {
    form.submit();
}
로그인 후 복사

if (evt.keyCode == 13 && !evt.shiftKey) {
    form.submit();
}
로그인 후 복사

해결 방법 2: 주요 이벤트 처리(모든 브라우저용)

양식 제출 스크립트에 대한 액세스가 부족한 경우 JavaScript를 사용하여 주요 이벤트를 처리하고 Shift Enter를 누를 때 줄바꿈을 삽입할 수 있습니다.

function handleEnter(evt) {
    if (evt.keyCode == 13 && evt.shiftKey) {
        if (evt.type == "keypress") {
            pasteIntoInput(this, "\n");
        }
        evt.preventDefault();
    }
}

// Handle both keydown and keypress for Opera
$("#your_textarea_id").keydown(handleEnter).keypress(handleEnter);
로그인 후 복사

이 코드는 Shift Enter를 누르면 키를 누를 때 텍스트 영역에 줄바꿈을 삽입합니다. keydown 및 keypress 이벤트를 모두 사용하여 극단적인 경우를 처리합니다.

참고: 이 솔루션에는 개행 문자를 텍스트 영역의 올바른 캐럿 위치에 붙여넣기 위한 외부 라이브러리 또는 사용자 정의 코드가 필요합니다.

위 내용은 양식 제출을 방지하고 텍스트 영역에서 Shift Enter를 사용하여 새 줄을 만드는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿