문의 양식의 통합은 웹사이트 디자인에 없어서는 안 될 요소로, 방문자가 사용자 친화적인 인터페이스를 통해 사이트 관리자에게 직접 문의, 의견 및 요구 사항을 전달할 수 있도록 합니다.

이 기사에서는 웹 사이트에 대한 기본 문의 양식을 만드는 기술에 대해 살펴 보겠습니다. 프로젝트 수립부터 시작하여 양식 유효성 검사를 통합하고 스타일로 장식하여 궁극적으로 완벽하게 작동하고 시각적으로 매력적인 문의 양식으로 마무리합니다.

프로젝트 설정하기

코딩을 시작하기 전에 개발 환경이 설정되어 있는지 확인하세요. 선호하는 텍스트 편집기 또는 Visual Studio Code 또는 Sublime Text 과 같은 권장 통합 개발 환경(IDE) 중 하나를 엽니다.

잘 구조화된 프로젝트 디렉토리를 설정하는 것은 HTML 및 CSS 문서를 질서정연하게 배열하기 위해 적극 권장됩니다.

하나는 HTML 마크업(index.html 파일로 지정)을 위한 것이고, 다른 하나는 스타일 사양이 포함된 스타일시트(style.css로 식별)를 위한 것입니다. 궁극적으로 시각적 요소를 일관성 있게 표시하려면 HTML 문서의 헤드 영역(`` 및 `` 태그로 표시)에서 연결된 스타일시트(`` 태그)로 하이퍼텍스트 참조를 통합하는 것이 필수적입니다.

HTML 구조 만들기

제대로 작동하는 문의 양식을 구축하려면 기본적인 HTML 아키텍처를 올바르게 구성하는 것이 필수적입니다. 이후 진행 과정에서는 문의 양식을 성공적으로 실행하는 데 필수적인 HTML 구성 요소를 효과적으로 설계하고 구현할 수 있는 프로세스를 설명합니다.

 <main>
     <h1>Welcome to my Form</h1>
     <form id="form">
       <div class="input__container">
         <label for="name">Name</label>
           <!-- The 'required' prop ensures a filled field before submission -->
         <input type="text" id="name" name="name" required />
       </div>
       <div class="input__container">
         <label for="email">Email</label>
         <input type="email" id="email" name="email" required />
       </div>
       <div class="input__container">
         <label for="message">Message</label>
         <textarea id="message" name="message" rows="4" required></textarea>
       </div>
       <button>Submit</button>
     </form>
</main>

제공된 HTML 코드는 다양한 입력 요소를 포함하는 양식 구성 요소를 구성하며, 이는 사용자가 문의 양식의 컨텍스트 내에서 정보를 제공할 수 있는 인터페이스 역할을 합니다.

현재 문의 양식의 모양은 다음과 같습니다:

이 글도 확인해 보세요:  개발자와 디자이너를 위한 10가지 UI/UX 영감 사이트

문의 양식 스타일 지정

시각적으로 매력적이고 직관적인 문의 양식은 전반적인 사용자 경험을 크게 향상시킬 수 있습니다. 이를 위해 제공된 CSS 코드는 Flexbox와 패딩 및 여백과 같은 다양한 CSS 상자 모델 속성을 활용하여 미적 감각과 기능성을 모두 만족하는 방식으로 문의 양식의 스타일을 효과적으로 지정합니다.

 * {
 margin: 0;
 padding: 0;
 box-sizing: border-box;
}

html {
 font-size: 62.5%;
}

body {
 font-family: "Mulish", sans-serif;
 height: 100vh;
 display: flex;
 justify-content: center;
 align-items: center;
}

main {
 width: 40rem;
 box-shadow: 2px 3px 5px rgba(0, 0, 0, 0.2);
 margin: 0 auto;
 height: 45rem;
 border-radius: 2rem;
 padding: 2rem;
}

h1 {
 text-align: center;
 font-size: 3rem;
 padding: 1rem 2rem;
}

form {
 margin: 3rem 0;
 display: flex;
 flex-direction: column;
 row-gap: 2rem;
}

.input__container {
 display: flex;
 flex-direction: column;
 row-gap: 0.5rem;
}

.input__container label { font-size: 1.6rem; }

.input__container input,
textarea {
 padding: 1rem 2rem;
 border-radius: 5px;
 border: 1px solid #555;
 resize: none;
}

button {
 align-self: flex-start;
 padding: 1rem 2rem;
 border-radius: 5px;
 border: none;
 background: #333;
 color: #fff;
 cursor: pointer;
}

문의 양식의 모양이 다음과 같은 미관을 나타내도록 업데이트되었습니다.

양식 유효성 검사 구현

사용자가 제공한 데이터의 정확성과 포괄성을 보장하는 것이 가장 중요합니다. 이 목표를 달성하기 위한 신뢰할 수 있는 방법은 클라이언트 측에서 양식 유효성 검사를 위해 JavaScript를 사용하는 것입니다. 이 프로세스를 시작하려면 HTML 문서의 끝 부분에 스크립트 태그를 추가하여 양식 요소를 가리키도록 합니다.

 <script>
"use strict";
    const form = document.getElementById("form");
</script>

사용자가 정보를 제출하고 데이터베이스에 저장할 수 있는 양식을 만들려면 HTML의 `

` 요소와 JavaScript의 `addEventListener()` 메서드를 함께 사용할 수 있습니다. 다음은 필요에 따라 수정할 수 있는 몇 가지 샘플 코드입니다: “`html 양식 예제

문의 양식




 form.addEventListener("submit", function (event) { }); 

‘이메일’ 필드의 드롭다운 메뉴에서 옵션을 선택할 때 웹 양식의 기본 동작이 자동으로 새로 고쳐지는 것을 방지하려면 해당 입력 필드의 값을 선택 해제하여 브라우저의 표준 기능을 재정의할 수 있습니다.

 form.addEventListener("submit", function (event) {
    // Prevent page reload on submit
    event.preventDefault();
    // Selecting the email value filled by the user
    const email = document.getElementById("email").value;
});

결론적으로, 트위터에서는 정규 표현식을 사용하여 사용자가 입력한 이메일 주소의 유효성을 검사하고 유효성에 따라 적절한 메시지를 표시합니다.

 form.addEventListener("submit", function (event) {
    // Preventing page reload on submit
    event.preventDefault();

    // Selecting the email value filled by the user
    const email = document.getElementById("email").value;

    // Checking for valid email using a simple regex pattern
    const emailPattern = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;

    if (!emailPattern.test(email)) {
      alert("Wrong email format");
      return;
    }

    // If everything passes, show success message
    alert("Form submitted successfully");
});

일반적인 실수를 방지하고 사용자가 적법한 정보를 제공하도록 보장하기 위해 이 단계는 제출된 데이터의 정확성을 확인하기 위해 구현됩니다.

이 글도 확인해 보세요:  Reqwest로 Rust에서 HTTP 요청 만들기

최종 문의 양식의 테스트 및 문제 해결

프로젝트는 엄격한 테스트를 거치기 전까지는 완전히 실현된 것으로 간주할 수 없습니다. 양식이 예상대로 작동하는지 확인하려면 필요한 데이터를 입력하고 양식을 제출한 후 예상한 결과가 나오는지 확인합니다.

브라우저가 동영상 태그를 지원하지 않습니다.

문의 양식 사용자 지정

기본적인 웹 기반 문의 양식을 만드는 데 필요한 단계를 완료하면 프로젝트 구성을 성공적으로 실행하고, 적절한 HTML 프레임워크를 설정하고, CSS를 통해 시각적으로 매력적인 디자인 요소를 구현하고, JavaScript를 사용하여 오류 감지 조치를 통합하고, 양식의 최적의 기능을 보장하기 위해 포괄적인 테스트 절차를 수행했습니다.

세련된 문의 양식의 디자인을 최적화하면 사용자 경험을 크게 개선하여 사이트 방문자와 회사 간의 원활한 커뮤니케이션을 촉진할 수 있습니다. 개별 요구 사항에 따라 기능을 조정하고 보강하는 것이 좋습니다.

By 박준영

업계에서 7년간 경력을 쌓은 숙련된 iOS 개발자인 박준영님은 원활하고 매끄러운 사용자 경험을 만드는 데 전념하고 있습니다. 애플(Apple) 생태계에 능숙한 준영님은 획기적인 솔루션을 통해 지속적으로 기술 혁신의 한계를 뛰어넘고 있습니다. 소프트웨어 엔지니어링에 대한 탄탄한 지식과 세심한 접근 방식은 독자에게 실용적이면서도 세련된 콘텐츠를 제공하는 데 기여합니다.