首页 > Web开发 > 详细

HPCMS V9使用ajax方式提交表单

时间:2019-04-02 18:10:37      阅读:190      评论:0      收藏:0      [点我收藏+]

一、前台模板(注:需要引入jquery文件)

<form id="myform" class="subscribe-form subscription" >
      <input type="hidden" name="fid" value="15">
      <input type="hidden" name="sid" value="1">
      <input type="hidden" name="dosubmit" value="1">
      <input type="email" id="yemail" name="info[yemail]" placeholder="请输入邮箱">
      <input type="button" value="提交" onclick="formsubmit()">
      <div class="clearfix"></div>
      <p class="newsletter-success"></p>
      <p class="newsletter-error"></p>
</form>
 
<script language="javascript">
function formsubmit() {
    var yemail = $(#yemail).val();
    if (yemail == ‘‘) {
      $(".newsletter-error").html("邮箱不能为空!").fadeIn().delay(3000).fadeOut();
      return false;
    }
    if(!yemail.match(/^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+((\.[a-zA-Z0-9_-]{2,3}){1,2})$/))
    {
      $(".newsletter-error").html("邮箱格式不正确!").fadeIn().delay(3000).fadeOut();
      return false;
    }
    var params = $(#myform).serialize(); //序列化表单的值
    $.ajax({
        url:index.php?m=formguide&c=index&a=diyform, //后台处理程序
        type:post,       //数据传送方式
        dataType:json,   //接受数据格式
        data:params,       //要传送的数据
        success:Response//回传函数(这里是函数名字)
    });
}
function Response(resp) {
    if (resp.result === success) {
      $(.newsletter-success).html("提交成功!").fadeIn().delay(3000).fadeOut();
    } else if (resp.result === error) {
      $(.newsletter-error).html("提交失败!").fadeIn().delay(3000).fadeOut();
    }
}
</script>

 

二、表单控制器 phpcms/modules/formguide/index.php 中增加diyform()函数.

public function diyform(){
        if (!isset($_POST[‘fid‘]) || empty($_POST[‘fid‘])) {
            $res[‘result‘] = "error";
            exit;
        }
        $siteid = $_POST[‘sid‘] ? intval($_POST[‘sid‘]) : 1;
        $formid = intval($_POST[‘fid‘]);
        $r = $this->db->get_one(array(‘modelid‘=>$formid, ‘siteid‘=>$siteid, ‘disabled‘=>0), ‘tablename, setting‘);
        if (!$r) {
            $res[‘result‘] = "error";
            exit;
        }
        $setting = string2array($r[‘setting‘]);
        if ($setting[‘enabletime‘]) {
            if ($setting[‘starttime‘]>SYS_TIME || ($setting[‘endtime‘]+3600*24)<SYS_TIME) {
                $res[‘result‘] = "error";
                exit;
            }
        }
        if (isset($_POST[‘dosubmit‘])) {
            $tablename = ‘form_‘.$r[‘tablename‘];
            $this->m_db->change_table($tablename);
 
            $data = array();
            require CACHE_MODEL_PATH.‘formguide_input.class.php‘;
            $formguide_input = new formguide_input($formid);
            $data = new_addslashes($_POST[‘info‘]);
            $data = new_html_special_chars($data);
            $data = $formguide_input->get($data);
            $data[‘datetime‘] = SYS_TIME;
            $data[‘ip‘] = ip();
            $dataid = $this->m_db->insert($data, true);
            if ($dataid) {
                $this->db->update(array(‘items‘=>‘+=1‘), array(‘modelid‘=>$formid, ‘siteid‘=>$this->siteid));
            }
            $res[‘result‘] = "success";
            echo json_encode($res);
        }
    }

 

HPCMS V9使用ajax方式提交表单

原文:https://www.cnblogs.com/yuan9580/p/10643778.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!