카테고리 없음

[PHP] 제출 버튼 클릭시 <input type =“file”> 필드의 값 유지

행복을전해요 2021. 2. 8. 01:36

이것은 불가능합니다. 브라우저 보안은 파일 입력 필드를 미리 채우지 못하도록하여 사용자가 먼저 권한을 부여하지 않으면 ( "찾아보기 ..."를 클릭하고 파일을 선택하여) 웹 사이트가 개인 파일을 훔칠 수 없도록합니다.

편집 : 기본적 으로이 작업을 수행 수는 없지만 이전에 선택한 파일 이름을 사용자에게 힌트하기 위해 파일 입력 상자 옆에 표시하도록 CSS 마법사를 시도 수 있습니다 . 정말 멋지게하고 싶다면 브라우저의 기본 파일 입력 텍스트 표시 영역을 이전 파일 이름이 채워진 다른 div로 오버레이 할 수도 있습니다. 그러나 이것은 입력 영역을 클릭하는 것을 방지하므로 사용자에게 친숙하지 않습니다. 너무 많은 일, 적은 보상.

-------------------

보안을 위해 스크립트에서 설정할 수 없으며 브라우저 공급 업체에서 readonly.

-------------------

이를 수행하는 한 가지 방법이 있습니다. 사용자가 실제로 페이지를 떠나거나 양식을 "제출"하지 않도록 AJAX 제출 방법을 사용하여 유효성 검사를 위해 양식 세부 사항을 제출 하십시오. 이렇게하면 결과 서버 측의 유효성을 검사 할 수 있지만 사용자는 파일 입력을 포함하여 여전히 모든 값이 채워집니다.

-------------------

언급했듯이 input[type=file]읽기 전용입니다. 클라이언트 측에서 입력을 확인하면 모든 필드가 유효하지 않으면 제출이 발생하지 않도록 방지 할 수 있습니다. ... 대부분의 경우 훨씬 더 나은 사용자 경험을 제공합니다!

좋아하는 프레임 워크에 대한 jquery.validation 또는 기타 검증 플러그인을 확인하거나 직접 작성하십시오. 서버 측에서도 유효성을 검사해야합니다.

요청을 방지함으로써 파일 입력은 모든 필드가 정상일 때까지 값을 유지합니다. 서버 측 유효성 검사가 필요한 경우 ajax를 사용하여 수행 할 수도 있습니다.



출처
https://stackoverflow.com/questions/22050275