Maison > interface Web > Questions et réponses frontales > Comment créer un forum avec jquery

Comment créer un forum avec jquery

PHPz
Libérer: 2023-05-28 11:04:39
original
1616 Les gens l'ont consulté

jQuery est une bibliothèque JavaScript largement utilisée dans le développement de sites Web. L'ajout d'un forum de discussion à un site Web est une exigence courante. JQuery fournit une multitude de fonctionnalités qui peuvent aider les développeurs à créer rapidement un forum de discussion hautement interactif.

Cet article vous apprendra comment utiliser jQuery pour créer un forum de discussion, y compris la conception de pages frontales et le traitement des données en arrière-plan.

Conception de la page du forum de messages

La première étape consiste à concevoir la page du forum de messages. Vous pouvez utiliser HTML et CSS pour créer une belle page. La structure de base du forum est la suivante :

<div id="messages">
  <h2>留言板</h2>
  <form id="message-form">
    <div class="form-group">
      <label for="name">姓名:</label>
      <input type="text" id="name" name="name" required>
    </div>
    <div class="form-group">
      <label for="message">留言:</label>
      <textarea id="message" name="message" required></textarea>
    </div>
    <button type="submit">提交留言</button>
  </form>
  <ul id="message-list"></ul>
</div>
Copier après la connexion

Dans cette page, nous avons un formulaire pour soumettre des messages. Le formulaire comprend deux champs : nom et message, tous deux obligatoires. Après avoir soumis un message, le contenu du message sera affiché sur la page sous forme de liste.

Ensuite, ajoutez des styles CSS pour rendre le forum plus beau :

#messages {
  max-width: 600px;
  margin: 0 auto;
  text-align: center;
}

#message-form {
  display: inline-block;
  text-align: left;
}

.form-group {
  margin-bottom: 10px;
}

.form-group label {
  display: inline-block;
  width: 80px;
}

.form-group input,
.form-group textarea {
  width: 300px;
}

button[type="submit"] {
  margin-top: 10px;
  padding: 6px 25px;
  border: none;
  border-radius: 5px;
  background-color: #0070c0;
  color: #fff;
  cursor: pointer;
}

#error-message {
  color: red;
  margin-bottom: 10px;
}

#message-list {
  margin-top: 20px;
  list-style: none;
}

.message-item {
  margin-bottom: 10px;
  padding: 10px;
  border: 1px solid #ccc;
}

.message-item span {
  display: block;
  margin-bottom: 5px;
  font-weight: bold;
}

.message-item p {
  margin: 0;
}
Copier après la connexion

Maintenant que la page du forum est terminée, nous devons utiliser jQuery pour ajouter un peu d'interactivité.

Utilisez jQuery pour soumettre un message

Tout d'abord, ajoutez un identifiant avec l'identifiant "message-form" au formulaire, puis récupérez le formulaire via jQuery et ajoutez un événement de soumission.

$(document).ready(function() {
  $('#message-form').on('submit', function(e) {
    e.preventDefault();

    // 处理表单提交逻辑
  });
});
Copier après la connexion

$(document).ready() est utilisé ici pour garantir que le code jQuery n'est exécuté qu'une fois la page complètement chargée. Lorsque l'utilisateur clique sur le bouton Soumettre, l'événement Soumettre du formulaire est déclenché et une fonction personnalisée est appelée pour gérer la soumission du formulaire. $(document).ready()来确保页面完全加载之后才运行jQuery代码。当用户点击提交按钮时,会触发表单的submit事件,并且调用一个自定义的函数来处理表单提交。

function postMessage(name, message) {
  $.ajax({
    method: 'POST',
    url: '/messages', // 需要在后台处理的POST请求路径
    data: {name: name, message: message}
  })
  .done(function(response) {
    // 在留言列表中添加新留言
  })
  .fail(function(jqXHR, textStatus) {
    // 显示错误信息
  });
}

$('#message-form').on('submit', function(e) {
  e.preventDefault();

  var name = $('#name').val();
  var message = $('#message').val();

  postMessage(name, message);
});
Copier après la connexion

在这个函数中,使用$.ajax()函数来发送一个POST请求,将姓名和留言内容作为POST数据发送到后台。成功发送请求后,通过.done()方法来处理后台返回的数据,将新留言加入到留言列表中。如果请求失败,可以通过.fail()方法来显示错误信息。

显示留言列表

现在实现了表单的提交逻辑,接下来需要通过jQuery来显示留言列表。首先,在页面中创建一个id为"message-list"的ul元素,来存储留言。

<ul id="message-list"></ul>
Copier après la connexion

之后可以添加一个loadMessages()函数,该函数用于从后台获取留言列表,并且在页面上展示出来。

function loadMessages() {
  $.ajax({
    method: 'GET',
    url: '/messages' // 需要在后台处理的GET请求路径
  })
  .done(function(messages) {
    $('#message-list').empty();
    $.each(messages, function(index, message) {
      $('#message-list').append(
        '<li class="message-item">' +
        '<span>' + message.name + '</span>' +
        '<p>' + message.message + '</p>' +
        '</li>'
      );
    });
  })
  .fail(function(jqXHR, textStatus) {
    // 显示错误信息
  });
}

$(document).ready(function() {
  loadMessages();

  // 留言提交逻辑
});
Copier après la connexion

在这个函数中,使用$.ajax()函数来发送一个GET请求,获取后台存储的留言列表数据。成功获取数据后,通过.done()rrreee

Dans cette fonction, utilisez la fonction $.ajax() pour envoyer une requête POST et envoyez le nom et le contenu du message en arrière-plan en tant que données POST. Après avoir envoyé avec succès la requête, utilisez la méthode .done() pour traiter les données renvoyées par l'arrière-plan et ajouter le nouveau message à la liste des messages. Si la requête échoue, le message d'erreur peut être affiché via la méthode .fail().

Afficher la liste des messages🎜🎜Maintenant que la logique de soumission du formulaire a été implémentée, vous devez utiliser jQuery pour afficher la liste des messages. Tout d'abord, créez un élément ul avec l'identifiant "message-list" dans la page pour stocker les messages. 🎜rrreee🎜Vous pouvez ensuite ajouter une fonction loadMessages(), qui permet d'obtenir la liste des messages en arrière-plan et de l'afficher sur la page. 🎜rrreee🎜Dans cette fonction, utilisez la fonction $.ajax() pour envoyer une requête GET afin d'obtenir les données de la liste de messages stockées en arrière-plan. Après avoir réussi à obtenir les données, utilisez la méthode .done() pour parcourir les données de la liste de messages et ajoutez chaque message à l'élément ul avec l'ID "message-list". 🎜🎜Maintenant, le forum de messages jQuery est terminé ! Vous pouvez écrire le code dans le cadre d'Angular ou React et terminer le développement de babillards électroniques en utilisant les normes JS modernes. Quelle que soit votre pile technologique, jQuery est un outil irremplaçable en développement Web. 🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal