나는 완전히 초보자이기 때문에 미리 사과드립니다. 텍스트 필드가있는 기존 HTML 양식이 있습니다. txt 파일을 업로드 할 수있는 버튼이 필요합니다 (이에 대한 답변을 찾으려고 할 때 javascript가 파일을 적극적으로 업로드하지 않으면 내 PC에서 파일에 액세스 할 수 없음을 배웠기 때문에). 그런 다음이 txt 파일의 값을 텍스트 필드에 삽입해야합니다 (예 : 양식에는 이름, 성, 전화 등이 있으며 파일은이 정보를 채 웁니다).
나는 다른 사람들의 질문에서 작은 조각을 모 으려고 미쳐 가고 있습니다. 어떤 도움이라도 대단히 감사하겠습니다!
이를 처리하는 방법에 따라 기본적으로 두 가지 옵션이 있습니다.
파일 업로드 및 페이지 리디렉션
파일 업로드 양식을 제공하여 텍스트 파일을 업로드하고, 양식 제출을 통해 동일한 페이지로 리디렉션하고, 서버 측에서 데이터를 처리 (예 : 파일 구문 분석 및 값 가져 오기)하고 서버가 값을 기본 속성으로 주입하도록 할 수 있습니다. 브라우저에 반환되는 양식 파일
XMLHttpRequest 파일 업로드
최신 브라우저에서 기본 xhr 개체는 업로드 속성을 지원하므로 해당 업로드 속성을 통해 파일을 보낼 수 있습니다. 파일을 구문 분석하고 적절한 형식 (예 : json)으로 값을 반환하는 서버 측 스크립트로 보내야합니다 (예 :) {'name':'somename', 'lastName':'someothername'}
. 그런 다음이 업로드 (예 : onload)가 완료되면 이벤트 리스너를 등록하고 자바 스크립트 측에서 이러한 값을 설정해야합니다.
XMLHttpRequest 업로드 (내 의견으로는 더 나은 솔루션)를 확인하십시오. https://developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/Using_XMLHttpRequest#Submitting_forms_and_uploading_files
편집 : 글쎄요, 가장 쉬운 해결책은 텍스트 필드를 제공하고 파일의 내용을이 필드에 붙여넣고 버튼을 누르면 내용이 구문 분석되는 것입니다. 그러면 네트워크 트래픽이나 서버 측 처리에 의존하지 않지만 자바 스크립트로 모든 작업을 수행 할 수 있습니다. 예 : dom :
<textarea id="tf"></textarea>
<button id="parse">fill form!</button>
js :
var tf = document.getElementById("tf");
document.getElementById("parse").addEventListener("click", function(){
var formData = JSON.parse(tf.value);
//if your textfile is in json format, the formData object now has all values
});
편집 : 내가 댓글에 게시 한 링크에서 :
<!-- The HTML -->
<input id="the-file" name="file" type="file">
<button id="sendfile">send</button>
과
document.getElementById('sendfile').addEventListener("click", function(){
var fileInput = document.getElementById('the-file');
var file = fileInput.files[0];
var formData = new FormData();
formData.append('file', file);
var xhr = new XMLHttpRequest();
// Add any event handlers here...
xhr.open('POST', '/upload/path', true);
xhr.onreadystatechange = function(){
if(xhr.readyState == 4 && xhr.status == 200){
var values = JSON.parse(xhr.responseText);
//these are your input elements you want to fill!
formNameInput.setAttribute('value', values.name);
formFirstNameInput.setAttribute('value', values.firstName);
}
}
xhr.send(formData);
});
이미 말했듯이 서버 측은 파일을 구문 분석하고 json으로 응답해야합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다