$(function() { // 监听表单提交事件 $('#message_form').on('submit', function(e) { // 阻止默认提交 e.preventDefault(); // 获取表单数据 var message = $('#message').val(); var rating = $('#rating').val(); // 发送 AJAX 请求 $.ajax({ url: 'submit.php', method: 'POST', data: {message: message, rating: rating}, success: function(response) { // 处理响应数据 if (response.status === 'success') { // 清空表单数据 $('#message').val(''); $('#rating').val(''); // 添加新的留言项 var $message_item = $('<li class="message_item">'); var $message_title = $('<h3>').text('用户'); var $message_content = $('<p>').text(message); var $rating_box = $('<div class="rating">'); for (var i = 1; i <= 5; i++) { var $star = $('<span>').addClass('empty'); if (i <= rating) { $star.removeClass('empty'); } $rating_box.append($star); } $message_item.append($message_title, $message_content, $rating_box); $('#message_list').append($message_item); } else { alert('提交失败,请稍后重试!'); } }, error: function() { alert('提交失败,请稍后重试!'); } }); }); });解释代码
时间: 2024-03-04 13:54:12 浏览: 71
这是一段使用 jQuery 编写的 JavaScript 代码,主要是监听表单提交事件,获取表单数据,发送 AJAX 请求,并根据响应数据进行相应的处理。
具体解释如下:
1. `$(function() {})` 表示当 DOM 加载完成后执行的函数,相当于 `$(document).ready(function() {})`。
2. `$('#message_form').on('submit', function(e) {})` 表示监听表单提交事件,阻止默认提交。
3. `e.preventDefault()` 表示阻止表单默认提交事件,避免页面跳转。
4. `var message = $('#message').val();` 和 `var rating = $('#rating').val();` 表示获取表单数据。
5. `$.ajax({})` 表示使用 jQuery 中的 AJAX 方法发送请求,其中包括请求的 URL、请求方式、请求数据,以及请求成功和失败时的回调函数。
6. `response` 表示 AJAX 请求成功后的响应数据。
7. `if (response.status === 'success') {}` 表示根据响应数据的状态判断是否提交成功。
8. `$('#message').val('');` 和 `$('#rating').val('');` 表示清空表单数据。
9. `$('<li class="message_item">')` 表示创建一个 li 元素,并添加 class 为 message_item。
10. `$('<h3>').text('用户')` 表示创建一个 h3 元素,并设置文本为“用户”。
11. `$('<p>').text(message)` 表示创建一个 p 元素,并设置文本为表单提交的 message。
12. `$('<span>').addClass('empty')` 表示创建一个 span 元素,并添加 class 为 empty。
13. `if (i <= rating) {}` 表示根据评分 rating 判断添加实心还是空心星星。
14. `$message_item.append($message_title, $message_content, $rating_box)` 表示将 h3、p 和星星添加到 li 中。
15. `$('#message_list').append($message_item)` 表示将 li 添加到留言列表中。
16. `alert('提交失败,请稍后重试!')` 表示如果提交失败则弹出提示框。
阅读全文