Home 250411_WIL | input 고찰
Post
Cancel

250411_WIL | input 고찰

250411_WIL

input 고찰

inputMode

현재 회사에서 웹앱을 개발 중인데 스크린 개발하다가 새로운 키워드를 발견했다 바로 inputMode라는 attribute인데 웹앱 사용 시 type으로 하여 가상키보드를 컨트롤하고 있었다. 예를 들어 전화번호나 숫자만 입력해야하면 type="tel"을 주는 형태로 사용하고 있었는데, 이번에 autoComplete 이슈로 mdn에서 input attribute를 확인하다가 inputMode라는 키워드를 발견했고 웹앱에서는 무척 유용한 값임을 확인했다.

  • inputMode
    • 해당 문서에 따르면 사용자가 입력할 수 있는 데이터 유형을 암시하는 열거형 속성으로 이를 통해 브라우저는 적절한 가상 키보드를 표시할 수 있다고 한다.
    • inputtype="number" 로 설정하게 되면 input 우측에 값을 조절할 수 있는 화살표 필드가 생기면서 해당 디자인을 해지할 수 있는 추가 css 코드가 필요했고,
      팀 내 컨벤션에서는 input에 입력가능한 타입을 대부분 string으로 설정하고 onChange 로직에서 별개로 컨트롤하는 경우가 많았기 때문에 숫자키보드만 보여야하는 경우에는 type="tel"코드를 사용하고 있었다.
      (이 경우 문제 사항이 숫자만 입력 가능해야하는데 갸상 키보드에서는 *, +, - 등의 일부 기호를 사용할 수 있는 문제가 있었다.)
    • 이렇다보니 inputMode의 사용이 나름의 유레카랄까.. 덕분에 웹앱에서 기존의 코드보다 좀 더 적절한 가상키보드를 보여줄 수 있게 되었다.

자동완성 멈춰!

두번째 이슈사항은 chrome 자동완성의 이슈였다. 사내에서 보통 어드민 페이지를 많이 개발하고 있는데, 어드민 로그인 시 저장한 계정 정보로 인해 관리자 계정을 추가할 때 화면이 렌더되면서 저장했던 내 계정 정보가 emailpassword input에 자동으로 입력되는 이슈가 있었다.
해당 이슈의 경우 input > autoComplete="new-password"를 걸어주면 이슈가 발생하지 않지만..

두번째 이슈가 발생했다.
비밀번호 입력 시 기존에 저장했던 내 계정 정보를 추천해주는 option이 발생하는데, 해당 스크린에서 해당 저장정보를 불러오게 되면 email과 password input에 자동으로 입력되는 문제가 발생했다. 이렇게 보면 큰 문제가 아닌 것 같지만…
email이 없는 화면에서는 phone number input에 해당 내 계정의 email 정보가 들어가는 이슈가 발생했다. (멈춰..!) 물론 number만 들어가도록 컨트롤을 하고 있어서 문제가 없어보이지만, 이슈가 발생한 걸 확인한 이상 수정을 해야한다고 판단했다.

그래서 사용한 두 번째 방법은 아래와 같다.

1
2
3
4
5
6
7
  <input
        type="email"
        name="user_email_randomString"
        id="email_randomString"
        tabIndex={-1}
      />
  <input type="password" tabIndex={-1} />

원리는 저장된 정보를 여기서 먼저 받아와서 입력되게 하여 본 form에는 입력되지 않게 하는 것..
위의 2가지 방법을 모두 사용해야 정상적으로 동작하는 것으로 보인다.(원인 파악은 아직 다 못했다. 사실 아직도 이해안됨)


게시물을 일기장처럼 쓰는 걸 고치고 싶은데 쉽지 않다. 개요에 대해 따로 작성을 하던가 해야할듯 싶다. 이것도 블로그 이전하면 템플릿을 셀프로 어느정도 만들어야하지 않을까..하고 조심스럽게 생각 중. 학교 다니면서 작업하기 쉽지않다

This post is licensed under CC BY 4.0 by the author.