자바스크립트 기본 1.6. alert, prompt, confirm을 이용한 상호작용
♠코어 자바스크립트
♣ 자바스크립트 기본
♥ 1.6. alert, prompt, confirm을 이용한 상호작용
브라우저는 사용자와 상호작용할 수 있는 세 가지 함수를 제공합니다.
alert메시지를 보여줍니다.prompt사용자에게 텍스트를 입력하라는 메시지를 띄워줌과 동시에, 입력 필드를 함께 제공합니다. 확인을 누르면prompt함수는 사용자가 입력한 문자열을 반환하고, 취소 또는 Esc를 누르면null을 반환합니다.confirm사용자가 확인 또는 취소 버튼을 누를 때까지 메시지가 창에 보여집니다. 사용자가 확인 버튼을 누르면true를, 취소 버튼이나 Esc를 누르면false를 반환합니다.
위 함수들은 모두 모달 창을 띄워주는데, 모달 창이 떠 있는 동안은 스크립트의 실행이 일시 중단됩니다. 사용자가 창을 닫기 전까진 나머지 페이지와 상호 작용이 불가능합니다.
지금까지 살펴본 세 함수엔 두 가지 제약사항이 있습니다.
- 모달 창의 위치는 브라우저가 결정하는데, 대개 브라우저 중앙에 위치합니다.
- 모달 창의 모양은 브라우저마다 다릅니다. 개발자는 창의 모양을 수정할 수 없습니다.
♥ eddy’s point
브라우저에서 제공하는 `prompt` 함수는 두 개의 인수를 받습니다.
`result = prompt(title, [default]);`
함수가 실행되면 텍스트 메시지와 입력 필드(input field), 확인(OK) 및 취소(Cancel) 버튼이 있는 모달 창을 띄워줍니다.
- `title`사용자에게 보여줄 문자열
- `[default]`입력 필드의 초깃값(선택값)
두번째 매개변수는 선택사항이지만 매개변수가 없는 경우 IE는 `"undefined"`를 입력 필드에 명시합니다. 때문에 IE 사용자를 비롯한 모든 사용자에게 깔끔한 프롬프트를 보여주려면 아래와 같이 두 번째 매개변수를 항상 전달해 줄 것을 권장합니다.
`let test = prompt("Test", ''); // <-- IE 사용자를 위한 매개변수 처리`