首页 >web前端 >js教程 >ajax如何实现不刷新的评论功能

ajax如何实现不刷新的评论功能

php中世界最好的语言
php中世界最好的语言原创
2018-04-02 15:21:371853浏览

这次给大家带来ajax如何实现不刷新的评论功能,ajax实现不刷新评论功能的注意事项有哪些,下面就是实战案例,一起来看一下。

这是留言板的界面,当用户点击提交留言的时候,自动提交到我的留言下面

留言内容中为空,或者为灰色的“没有填写留言内容”都会弹出 请填写留言内容,当用户填写信息的会在右下角显示当前留言的字数。

下面是javascript的代码

//去掉左右尖括号 并用去掉空格后的字符串替代显示 
function replaceBrackets(id) { 
  var inputValue = $("#" + id).val(); 
  while (inputValue.indexOf("<") != -1) { 
    inputValue = inputValue.replace("<", "["); 
  } 
  while (inputValue.indexOf(">") != -1) { 
    inputValue = inputValue.replace(">", "]"); 
  } 
  while (inputValue.indexOf("&") != -1) { 
    inputValue = inputValue.replace("&", " "); 
  } 
  $("#" + id).val(inputValue); 
} 
 
function replaceChar(name, char) { 
  var inputValue = $("#" + name).val(); 
  while (inputValue.indexOf(char) != -1) { 
    inputValue = inputValue.replace(char, ""); 
  } 
  return inputValue; 
} 
 
$("#txtMessage").blur(function () { 
  $("#txtMessage").val(replaceChar("txtMessage", "<!--")); 
  if ($("#txtMessage").val() == "") { 
    document.getElementById("txtMessage").style.color = "#8C8C8C"; 
    $("#txtMessage").val("没有填写留言内容"); 
    return false; 
  } 
  replaceBrackets("txtMessage"); 
  return true; 
}); 
 
$("#txtMessage").focus(function () { 
  if ($("#txtMessage").val() == "没有填写留言内容") { 
    document.getElementById("txtMessage").style.color = "#000000"; 
    $("#txtMessage").val(""); 
  } 
}); 
 
function txtanum(id, name)  //统计txta的输入字数 
{ 
  var maxl = 151; 
  var num = 150; 
  var content = $("#" + id).val(); 
  content.slice(0, maxl); 
  var nowlength = content.length; 
  if (nowlength >= 0) { 
    if (nowlength < num) 
      $("#" + name).text(nowlength); 
    else 
      $("#" + name).text(num); 
  } else 
    $("#" + id).val(content.substring(0, maxl - 1)); 
 
  if (nowlength == 0) 
    $("#" + name).text(0); 
 
  if (nowlength > num) 
    $("#" + id).val(content.substring(0, num)); 
} 
 
 
var isSubmit = false; 
$('#subMessage').click(function () { 
 
  if (isSubmit) { 
    return; 
  } 
  isSubmit = true; 
  if ($("#txtMessage").val() == "没有填写留言内容" || $.trim($("#txtMessage").val()) == "") { 
    alert("请输入留言内容!"); 
    isSubmit = false; 
    return; 
  } 
  $.ajax({ 
    type: "POST", 
    url: app_param.path_context+"/user/member/msgboard/save", 
    data: { "context": ($("#txtMessage").val()) }, 
    error: function () { 
      isSubmit = false; 
    }, 
    success: function (data) { 
      if (data) { 
        addRow(data); 
        isSubmit=false; 
       $('#zanwu').hide(); 
        document.getElementById("txtMessage").style.color = "#8C8C8C"; 
    $("#txtMessage").val("没有填写留言内容"); 
      }  
    } 
  }); 
  function addRow(messageboard) { 
    var table = $("#tblmsg"); 
    var html = []; 
    html.push("<tr>"); 
    html.push("<td class=&#39;m_time&#39;>"); 
    html.push(messageboard.createDate); 
    html.push("</td>"); 
    html.push("<td>"); 
    html.push(messageboard.context); 
    html.push("</td>"); 
    html.push("<td style=&#39;border-right: 0;&#39; class=&#39;m_order_procz&#39;>"); 
    html.push("<a class=&#39;xxx&#39; href=&#39;messagereply/"+messageboard.id+"&#39;>查看</a>"); 
    html.push("</td>"); 
    html.push("</tr>"); 
    html = html.join(''); 
    table.append(html); 
  } 
 
});

相信看了本文案例你已经掌握了方法,更多精彩请关注php中文网其它相关文章!

推荐阅读:

Ajax+mysql做出留言板的功能

在Ajax中GET与POST的使用详解

以上是ajax如何实现不刷新的评论功能的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn