JQuery : <Div> <UL> 안에 새로운 <Li> 추가

게으른 남자

그래서 목록 안에 채팅 메시지를 만들고 싶습니다. 사용자가 입력란에 메시지를 입력하고 제출 버튼을 클릭 한 후 새 목록을 추가하고 싶습니다.

내 HTML은 다음과 같습니다.

<div class="panel-collapse">
    <div class="panel-body" style="overflow-y: scroll; height: 250px;">
        <ul class="chat" id="list"> 
           <li class="left clearfix">
                <span class="chat-img pull-left">
                    <img src="http://placehold.it/50/55C1E7/fff&text=U" alt="User Avatar" class="img-circle" />
                </span>
                <div class="chat-body clearfix">
                     <div class="header">
                         <strong class="primary-font">USER NAME</strong> <small class="pull-right text-muted">
                         <span class="glyphicon glyphicon-time"></span>12 mins ago</small>
                      </div>
                      <p> PUT HERE SOME OF TEXT OF CHAT </p>
                </div>
           </li>
           <li> ALL ATTRIBUTES IN PREVIOUS LI AND NEW MESSAGE WILL BE HERE </li>
        </ul>
    </div>

    <div class="panel-footer">
        <div class="input-group">
            <input id="chat-input" type="text" class="form-control input-sm" placeholder="Type your message here..." />
            <span class="input-group-btn">
                <button class="btn btn-warning btn-sm" id="btn-chat" type="submit"> Send</button>
            </span>
         </div>
    </div>

</div>

따라서 사용자가 <input>필드에 메시지를 보내고 버튼 제출을 클릭 할 때마다 jquery가 새 <Li>메시지를 추가 하고 메시지가 <p> </p>.

내 JQuery는 다음과 같습니다.

$(document).ready(function() {
    $('#btn-chat').click(function(e) {
        e.preventDefault();
         var new_chat = $('#chat-input').val();
        $('#list').append('<p>'+new_chat+'</p>');
    });
});

내가 뭔가 잘못하면 내 코드를 수정하십시오. 정말 감사. 감사합니다.

Cssyphus

페이지에 채팅 메시지를 추가하면 페이지가 새로 고쳐지 자마자 모든 채팅 메시지가 사라집니다. 또한 채팅 수신자가 메시지를받을 방법이 없습니다. 모든 메시지는 하나 (임시) 페이지에만 표시되며 보낸 사람 만 볼 수 있습니다.

이를 해결하려면 채팅 메시지를 어딘가에 저장하고 적절한 사용자에게 표시해야합니다. 이를 위해서는 PHP 또는 ASP.NET과 같은 서버 기반 도구를 사용해야합니다. PHP가 가장 일반적이며 로컬 컴퓨터에 XAMPP 또는 WAMP / MAMP / LAMP (Windows / Mac / Linux)를 설치할 때 (또는 거의 모든 저렴한 호스팅 계정을 사용하여 거의 모든 온라인) PHP에 액세스 할 수 있습니다. LAMP 사용). XAMPP와 같은 앞서 언급 한 도구는 로컬 컴퓨터에 dev LAMP 호스팅 환경을 만듭니다.

채팅 메시지를 수신 / 저장 / 다시 표시하기위한 두 가지 옵션이 있습니다 : FORMs 또는 AJAX. AJAX는 페이지를 새로 고치지 않고 매우 간단하기 때문에 권장됩니다. <form>구조가 서버에 데이터를 전송하는 기존의 방법입니다, AJAX는 우리가 현재이 작업을 수행하는 방법이다.

사용자가 SEND를 클릭하면 jQuery / js를 사용 하여 사용자 메시지와 함께 <input>또는 <textarea>필드 를 읽습니다 . 그런 다음 AJAX 코드 블록을 사용하여 데이터를 서버로 보냅니다 (데이터를 수신하고 데이터베이스에 플렁크하는 PHP 파일로).

다음은 AJAX 사용 방법에 대한 몇 가지 간단한 예 입니다. 매우 쉽습니다. 예제를 복사하여 시스템에 재현했는지 확인하십시오. 이번 분기에 보낼 최고의 15 분.

코드는 다음과 같습니다 (불완전 / 미확인 / FYI).

가정 : 사용자가 index.php에 로그인하고 채팅 시스템을 위해 chats.php로 리디렉션됩니다.

chats.php

<?php
    session_start(); //Must be first instruction on page
    if ( !isset($_SESSION['userID'] ) header('Location: ' . 'index.php'); //2nd instruction on page
    $msgs = get_chat_messages($_SESSION['user_id']); //Note that user has logged in somehow
?>

<div class="panel-collapse">
    <div class="panel-body" style="overflow-y: scroll; height: 250px;">
        <ul class="chat" id="list"> 

<?php
    $out = '';
    while ($row = mysql_fetch_array($msgs)) {
        $out = '
           <li class="left clearfix">
                <span class="chat-img pull-left">
                    <img src="http://placehold.it/50/55C1E7/fff&text=U" alt="User Avatar" class="img-circle" />
                </span>
                <div class="chat-body clearfix">
                     <div class="header">
                         <strong class="primary-font">USER NAME</strong> <small class="pull-right text-muted">
                         <span class="glyphicon glyphicon-time"></span>12 mins ago</small>
                      </div>
                      <p>' .$row['msg_db_field_name']. '</p>
                </div>
           </li>
           <li> ALL ATTRIBUTES IN PREVIOUS LI AND NEW MESSAGE WILL BE HERE </li>
        ';
    }
    echo $out;
?>
        </ul>
    </div>

    <div class="panel-footer">
        <div class="input-group">
            <input id="chat-input" type="text" class="form-control input-sm" placeholder="Type your message here..." />
            <span class="input-group-btn">
                <button class="btn btn-warning btn-sm" id="btn-chat" type="submit"> Send</button>
            </span>
         </div>
    </div>

</div>

<script>
    var msg;
    $(function(){
        msg = $('#chat-input').val();
        $.ajax({
            type: 'post',
             url: 'my_ajax_processor.php',
            data: 'msg=' + msg,
            success: function(d){
                //if (d.length) alert(d); //uncomment for troubleshooting
                $('#list').append('\
                   <li class="left clearfix">\
                        <span class="chat-img pull-left">\
                            <img src="http://placehold.it/50/55C1E7/fff&text=U" alt="User Avatar" class="img-circle" />\
                        </span>\
                        <div class="chat-body clearfix">\
                             <div class="header">\
                                 <strong class="primary-font">USER NAME</strong> <small class="pull-right text-muted">\
                                 <span class="glyphicon glyphicon-time"></span>12 mins ago</small>\
                              </div>\
                              <p>' +msg+ '</p>\
                        </div>\
                   </li>\           
                ');
            }//END success fn
        });//END ajax code block
    });//END document.ready
</script>

my_ajax_processor.php

<?php
    $msg = $_POST['msg'];
    //now, store message into database. Of course, you need more than just the message. You also need the senderID and the recipID, plus maybe date, time etc.

위는 채팅 시스템에 대한 전체적인 개요입니다. codecourse.com에는 훌륭한 비디오 자습서가 있습니다. 예전에는 무료 였지만 이제는 한 달에 약 $ 10를 청구합니다. 1 개월 액세스 권한을 구입하고 등록 / 로그인 튜트를 진행합니다 (절차 및 OOP 과정이 모두 있습니다. 절차가 더 쉽고 업계에서 일하려는 경우 OOP가 더 유용합니다). 모든 페니 가치가 있습니다. 추가 비용이 청구되기 전에 계정을 취소해야합니다. 이것은 프로필-내 돈-사전 승인 된 지불-업데이트의 페이팔 계정에서 수행됩니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

jquery로 ul에 자식 li dynamicaly 추가

분류에서Dev

li 및 ul로 jQuery 추가

분류에서Dev

텍스트 상자 변경시 div에 ul li을 추가하고 Jquery로 div에서 ul li을 제거하는 방법

분류에서Dev

Div ul> li 한 줄 안에 유지 (가로줄)

분류에서Dev

부모 ul에 li 추가

분류에서Dev

jQuery를 사용하여 LI를 UL에 추가 할 수 없음

분류에서Dev

LI에 UL 추가 (UL에 LI를 추가하지 않음)

분류에서Dev

jquery로 ul li 필터링

분류에서Dev

자바 스크립트로 Ul에 여러 Li 추가

분류에서Dev

jquery로 div에 javascript 추가

분류에서Dev

<ul>에 <li>를 추가하고 jquery를 사용하여 동시에 <li>에 CSS를 설정하는 방법

분류에서Dev

UL 추가-JQuery

분류에서Dev

ul, ul li less에서 CSS로

분류에서Dev

Making a submenu with a <div> and <ul>/<li>

분류에서Dev

JQuery는 Onther Div에서 Li로 데이터 가져 오기

분류에서Dev

<ul>에 <li> 요소를 추가하는 동안 페이드 인 효과 적용

분류에서Dev

jquery 형식 json 및 ul> li로 표시

분류에서Dev

jquery를 사용하여 "<ul>"에 "<li>"를 추가하는 방법은 무엇입니까?

분류에서Dev

jquery를 사용하여 li 요소를 ul에 추가하는 올바른 방법을 얻지 못함

분류에서Dev

jQuery 여러 "li"를 복제하고 ul의 특정 위치 (끝이 아님)에 추가

분류에서Dev

div를 ul로 변환하고 div 내용을 li로 변환 한 후 jquery 누락 된 줄

분류에서Dev

div에 텍스트를 추가합니다. 새로운 라인

분류에서Dev

jquery 클래스가있는 UL 요소가 아닌 UL에서 모든 LI를 선택합니다.

분류에서Dev

여러 행에서 ul의 li를 가로로 정렬

분류에서Dev

li 안에 div를 한 줄로 배치

분류에서Dev

JavaScript로 채워진 UL에서 li 값 가져 오기

분류에서Dev

Python 셀레늄은 ul에 li을 추가합니다.

분류에서Dev

동적 ul li에 스크롤 막대 추가

분류에서Dev

몸에 ul li을 추가하는 방법

Related 관련 기사

  1. 1

    jquery로 ul에 자식 li dynamicaly 추가

  2. 2

    li 및 ul로 jQuery 추가

  3. 3

    텍스트 상자 변경시 div에 ul li을 추가하고 Jquery로 div에서 ul li을 제거하는 방법

  4. 4

    Div ul> li 한 줄 안에 유지 (가로줄)

  5. 5

    부모 ul에 li 추가

  6. 6

    jQuery를 사용하여 LI를 UL에 추가 할 수 없음

  7. 7

    LI에 UL 추가 (UL에 LI를 추가하지 않음)

  8. 8

    jquery로 ul li 필터링

  9. 9

    자바 스크립트로 Ul에 여러 Li 추가

  10. 10

    jquery로 div에 javascript 추가

  11. 11

    <ul>에 <li>를 추가하고 jquery를 사용하여 동시에 <li>에 CSS를 설정하는 방법

  12. 12

    UL 추가-JQuery

  13. 13

    ul, ul li less에서 CSS로

  14. 14

    Making a submenu with a <div> and <ul>/<li>

  15. 15

    JQuery는 Onther Div에서 Li로 데이터 가져 오기

  16. 16

    <ul>에 <li> 요소를 추가하는 동안 페이드 인 효과 적용

  17. 17

    jquery 형식 json 및 ul> li로 표시

  18. 18

    jquery를 사용하여 "<ul>"에 "<li>"를 추가하는 방법은 무엇입니까?

  19. 19

    jquery를 사용하여 li 요소를 ul에 추가하는 올바른 방법을 얻지 못함

  20. 20

    jQuery 여러 "li"를 복제하고 ul의 특정 위치 (끝이 아님)에 추가

  21. 21

    div를 ul로 변환하고 div 내용을 li로 변환 한 후 jquery 누락 된 줄

  22. 22

    div에 텍스트를 추가합니다. 새로운 라인

  23. 23

    jquery 클래스가있는 UL 요소가 아닌 UL에서 모든 LI를 선택합니다.

  24. 24

    여러 행에서 ul의 li를 가로로 정렬

  25. 25

    li 안에 div를 한 줄로 배치

  26. 26

    JavaScript로 채워진 UL에서 li 값 가져 오기

  27. 27

    Python 셀레늄은 ul에 li을 추가합니다.

  28. 28

    동적 ul li에 스크롤 막대 추가

  29. 29

    몸에 ul li을 추가하는 방법

뜨겁다태그

보관