pbootcms使用Ajax无刷新提交留言及表单

2022-02-23 19:15:17 浏览数 (3)

表单提交方式为post,表单中提交的字段名称需要与后台自定义表单中添加的字段一致,否则会导致提交失败。

需要更多字段时请在后台自定义表单中新增留言表单字段,然后再在前台新增form字段.

标签说明:

{pboot:msgaction} 为留言表单接收地址

{pboot:checkcode} 为验证码图片地址

表单验证

代码语言:javascript复制
<form onsubmit="return submsg(this);">
    联系人<input type="text" name="contacts" required id="contacts">
    手 机<input type="text" name="mobile" required id="mobile">
    内 容<textarea name="content" id="content"></textarea>
    验证码<input type="text" name="checkcode" required id="checkcode">
    <img title="点击刷新" src="{pboot:checkcode}" onclick="this.src='{pboot:checkcode}?' Math.round(Math.random()*10);" />
    <button type="submit">提交留言</button>
</form>

Ajax提交

代码语言:javascript复制
//ajax提交留言,由于涉及到提交地址标签的解析,JS需要放在html文件中
function submsg(obj){
  var url='{pboot:msgaction}'; //如果是自定义表单则使用地址{pboot:form fcode=*}
  var contacts=$(obj).find("#contacts").val();
  var mobile=$(obj).find("#mobile").val();
  var content=$(obj).find("#content").val();
  var checkcode=$(obj).find("#checkcode").val();
//此处加个判断,避免碰到刷留言
  if (!$('[name="contacts"]').val()) {alert('姓名不能为空');returnfalse;   }
// 判断在要写入数组前
  $.ajax({
    type: 'POST',
    url: url,
    dataType: 'json',
    data: {
        contacts: contacts,
        mobile: mobile,
        content: content,
        checkcode: checkcode
    },
    success: function (response, status) {
      if(response.code){
         alert("谢谢您的反馈,我们会尽快联系您!");
         $(obj)[0].reset(); 
      }else{
         alert(response.data);
      }
    },
    error:function(xhr,status,error){
      alert('返回数据异常!');
    }
  });
  return false;
}

1 人点赞