목차
핵심 원칙
구현 단계
1. HTML 테이블 구조 및 동적 데이터 전송
2. 부트 스트랩 모달 상자의 정의
3. JavaScript Data Filling Logic
백엔드 개발 PHP 튜토리얼 부트 스트랩 모달 박스를 구현하는 방법 테이블 행 데이터 및 채우기 양식을 동적으로 얻습니다.

부트 스트랩 모달 박스를 구현하는 방법 테이블 행 데이터 및 채우기 양식을 동적으로 얻습니다.

Aug 19, 2025 pm 02:57 PM

부트 스트랩 모달 박스를 구현하여 테이블 행 데이터를 동적으로 얻고 양식을 채우는 방법

이 튜토리얼은 Bootstrap의 데이터-* 속성 및 JavaScript 이벤트를 사용하여 HTML 테이블에서 버튼을 클릭 할 때 해당 행 데이터 (예 : 이메일 주소)를 동적으로 전달하고 모달 상자의 양식 필드를 자동으로 채우는 방법을 자세히 설명합니다. 이 접근법은 루프에서 모달 상자를 반복적으로 정의하지 않고 코드 효율성과 유지 관리를 향상 시키며 모달 박스가 항상 올바른 데이터를 표시 할 수 있도록합니다.

웹 애플리케이션 개발, 특히 테이블 데이터를 표시 할 때 테이블의 각 행에 작동 버튼을 제공해야하며 편집, 답장 및 기타 작업을 클릭하기 위해 클릭 한 후 모달 박스 (MODAL)가 팝업됩니다. 일반적인 문제는 어떤 버튼 행을 클릭하든 모달 박스의 양식 필드는 항상 (일반적으로 첫 번째 행) 데이터를 표시한다는 것입니다. 이는 모달 박스의 HTML 구조가 루프에 반복적으로 정의되거나 동적 데이터가 모달 박스의 양식 요소로 올바르게 전달되지 않기 때문입니다.

이 튜토리얼은 효율적이고 권장되는 솔루션을 제공합니다. 모달 상자를 단일 인스턴스로 정의하고 Bootstrap의 JavaScript 이벤트 및 HTML5의 데이터-* 속성을 사용하여 모달 박스의 데이터를 동적으로 채우십시오.

핵심 원칙

동적 데이터 전송 실현의 핵심은 다음 두 가지 점에 있습니다.

  1. * `데이터 속성 : ** 모달 상자를 트리거하는 버튼 (또는 기타 요소)에서 데이터 B를 사용하여 (또는 기타 사용자 정의 데이터-* 속성) 사용하여 전달 해야하는 동적 데이터를 저장하십시오.
  2. 부트 스트랩 모달 박스 이벤트 : Bootstrap Modal Box의 모달 이벤트를 듣습니다. 이 이벤트는 모달 박스가 표시 되려고 할 때 트리거되며, 이벤트 상자를 트리거하는 버튼 요소는 이벤트를 통해 얻을 수 있습니다. 그런 다음 버튼의 데이터* 속성에서 필요한 데이터를 추출하여 모달 박스 내부의 양식 필드로 채울 수 있습니다.

구현 단계

1. HTML 테이블 구조 및 동적 데이터 전송

먼저 PHP 루프에 테이블 행을 구축하고 각 "답장"버튼에 해당 이메일 주소를 포함시켜야합니다. 여기서는 Bootstrap의 Data-BS-Target 및 Data-BS-Toggle 속성을 사용하여 트리거 할 모달 상자를 지정하고 데이터 BS---- 속성을 사용하여 현재 행의 이메일 주소를 전달합니다.

 
php // $ conn이 확립 된 데이터베이스 연결 $ sql = "선택 ID, 이름, 이메일, 주제, 메시지, 연락 시간을 선택하십시오."; $ records = mysqli_query ($ conn, $ sql); while ($ data = mysqli_fetch_array ($ records)) { ?> php } ?> 테이블>

참고 : 동적 데이터를 출력 할 때 HTMLSpecialchars () 기능을 사용하여 탈출 (XSS) 공격을 방지합니다.

2. 부트 스트랩 모달 상자의 정의

모달 박스의 HTML 구조는 한 번만 정의해야하며 PHP 루프 외부에 있습니다. 모달 박스에는 수신자의 사서함을 표시하기위한 입력 상자와 같은 동적 데이터를 수신하기위한 양식 필드가 포함되어 있습니다.

 <div class="modal fade" id="examplemodal" tabindex="-1" aria-labelledby="emailplemodallabel" aria-hidden="true">
    <div class="modal-dialog modal-lg">
        <div class="modal-content">
            <div class="Modal-Header">
                <h5 class="modal-title" id="examplemodallabel"> New News </h5>
                 
            </div>
            <div class="modal-body">
                <form method="post" robile="form" enctype="multipart/form-data" action="">
                    <div class="row">
                        
                        <div class="col-md-12 mb-3">
                            <label for="수신자-메일"> 수신자 : </label>
                            
                        </div>

                        <div class="col-md-12 mb-3">
                            <label for="email-subject" class="col-form-label"> 이메일 제목 : </label>
                            
                        </div>

                        <div class="MB-3">
                            <label for="message-text" class="col-form-label"> 메시지 내용 : </label>
                            <textrea class="form-control" rows="8" name="message" id="message-text"> </textrea>
                        </div>

                        <div class="col-md-12 mb-3">
                            <label for="attachment" class="col-form-label"> 첨부 파일 </label>
                            <input type="file" class="form-control" name="file []" multure="multure" id="첨부 파일">
                        </div>
                    </div>
                    <button name="제출" type="제출" btn-primary> 이메일 보내기 </button>
                </form>
            </div>
        </div>
    </div>
</div>

알아채다:

  • 모달 박스의 ID (examplemodal)는 트리거 버튼의 데이터 bs- 표적 값과 일치해야합니다.
  • JavaScript 작업을 용이하게하기 위해 수신자의 사서함에 ID (수신자-메일)를 추가하십시오.
  • 수신자의 사서함 입력 상자를 Readonly로 설정하십시오. 일반적으로 사전 가득한 사서함은 사용자가 마음대로 수정하기를 원하지 않습니다.

3. JavaScript Data Filling Logic

이것은 동적 데이터 충전을 구현하는 핵심 단계입니다. 모달 박스의 모달 이벤트를 들으려면 JavaScript 코드를 작성해야합니다. 이벤트가 트리거되면 트리거 버튼의 Data-B-whon 속성 값을 가져 와서 모달 박스의 해당 입력 필드로 설정하십시오.

 // 모달 상자 가져 오기 돔 요소 var emaveModal = document.getElementById ( 'emablemeDal');

// 모달 박스의 모달 이벤트를 듣습니다.
    // MODAL BOX var button = event.RelatedTarget을 트리거하는 버튼을 가져옵니다. //`exeralTarget`은 Modal Box를 트리거하는 DOM 요소입니다. // data-bs에서 데이터를 추출하는 버튼 var var var var recepienteMail = button.getAttribute ( 'data-bs-whateet')에서 데이터를 추출합니다.

    // 모달 상자에서 제목 및 수신자 입력 상자를 가져옵니다. var modaltitle = examplemodal.querySelector ( '. modal-title');
    var recepientInput = exampleModal.querySelector ( '#수신자-메일'); // ID를 기반으로 수신자 입력 상자를 가져옵니다. // 모달 상자의 제목과 수신자 입력 상자 MODALTITLE.TEXTCONTENT = 'recode at value of input Box의 값을 업데이트하십시오.
    RecepientInPut.Value = ReceiteEmail;
});

이 JavaScript 코드를 HTML 파일의 태그, 일반적으로

# name 이메일 테마 메시지 시간 작동
php echo htmlspecialchars ($ data [ 'id']); ?> php echo htmlspecialchars ($ data [ 'name']); ?> php echo htmlspecialchars ($ data [ 'email']); ?> php echo htmlspecialchars ($ data [ 'subject']); ?> php echo htmlspecialchars ($ data [ 'message']); ?> php echo htmlspecialchars ($ data [ 'time']); ?> "> 답장

위 내용은 부트 스트랩 모달 박스를 구현하는 방법 테이블 행 데이터 및 채우기 양식을 동적으로 얻습니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Stock Market GPT

Stock Market GPT

더 현명한 결정을 위한 AI 기반 투자 연구

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제

PHP에서 이메일 주소가 유효한지 확인하는 방법은 무엇입니까? PHP에서 이메일 주소가 유효한지 확인하는 방법은 무엇입니까? Sep 21, 2025 am 04:07 AM

usefilter_var () tovalidateemailsyntaxandcheckdnsrr () toverifydomainmxrecords.example : $ email = "user@example.com"; if (f ilter_var ($ 이메일, filter_validate_email) && checkdnsrr (Explode ( '@', $ email) [1], 'mx')) {echo "validandDeliverableEmail & qu

PHP에서 물체를 딥 카피 나 복제하는 방법은 무엇입니까? PHP에서 물체를 딥 카피 나 복제하는 방법은 무엇입니까? Sep 21, 2025 am 12:30 AM

AseUnserialize (Serialize ($ obj))는 AllDataisserializable 이하의 경우 FordeepCopying; 그렇지 않으면, ubstract__clone () tomanuallyduplicateNestEdObjectSandavoidshartReferences.

PHP에서 두 배열을 병합하는 방법은 무엇입니까? PHP에서 두 배열을 병합하는 방법은 무엇입니까? Sep 21, 2025 am 12:26 AM

USEARRAY_MERGE () TOCOMBINEARRAYS, DUCRITINGDUPLICATESTRINGKEYSANDENTEXINGUMERICEYS; FORSIMPLERCONCATENATION, 특히 인포드 55.6, USETHESPLATOPERATOR [... $ array1, ... $ array2].

PHP 프로젝트에서 네임 스페이스를 사용하는 방법은 무엇입니까? PHP 프로젝트에서 네임 스페이스를 사용하는 방법은 무엇입니까? Sep 21, 2025 am 01:28 AM

네임 스페이스 인 네임 스페이스 inphorganizecodecodecodeandnamingnamingconflictsbygroupingclasses, 인터페이스, 함수, andconstantsOnspecificname.2.defineanamesUsUsingThenamesPaceyWordAtTHETOPOFOFILE, AFFORBINSPACENAME, suchATESKEYSTOI

PHP의 마법 방법은 무엇이며`__call ()`및`__get ()`의 예를 제공합니다. PHP의 마법 방법은 무엇이며`__call ()`및`__get ()`의 예를 제공합니다. Sep 20, 2025 am 12:50 AM

The__call ()는 MethodsibleorundorundeRunded에서 정의 될 때 MethodStrigged를 정의하고, themodnameandarguments, asshowningwhendingderdefinedmethodslikesayhello ()

PHP에서 파일 확장을 얻는 방법은 무엇입니까? PHP에서 파일 확장을 얻는 방법은 무엇입니까? Sep 20, 2025 am 05:11 AM

useathinfo ($ filename, pathinfo_extension) togetThefileExtension; itreliablyHandleSmultipledOtsededGecases, returningTheextension (예 : "pdf") oranEmptyStringifnoneExists.

PHP로 데이터베이스에서 레코드를 업데이트하는 방법은 무엇입니까? PHP로 데이터베이스에서 레코드를 업데이트하는 방법은 무엇입니까? Sep 21, 2025 am 04:47 AM

toupdateadaBasereCordInphp, FirstConnectusingpdoorMysqli, whenEseprepredStatementStoExecuteAcureCuresqlupDateQuery.example : $ pdo = newpdo ( "mysql : host = localhost; dbname = your_database", $ username, $ username, $ sql = "squer erestemail);

MySQL 조건부 응집 : 필드의 조건 합계 및 계산을 구현하기위한 사용 사례 명령문 MySQL 조건부 응집 : 필드의 조건 합계 및 계산을 구현하기위한 사용 사례 명령문 Sep 16, 2025 pm 02:39 PM

이 기사에서는 케이스 문을 사용하여 MySQL에서 조건부 집계를 수행하여 특정 필드의 조건부 합산 및 계산 방법에 대해 자세히 설명합니다. 실제 구독 시스템 사례를 통해 레코드 상태 (예 : "END"및 "CANCEL"과 같은 총 기간 및 이벤트 수를 동적으로 계산하여 복잡한 조건부 집계의 요구를 충족시킬 수없는 전통적인 합계 기능의 한계를 극복하는 방법을 보여줍니다. 튜토리얼은 합 함수로 사례 문의 적용을 자세히 분석하고 왼쪽 조인의 가능한 널 값을 다룰 때 Coalesce의 중요성을 강조합니다.

See all articles