您的位置 首页 php

php手把手教你做网站(十三)Jquery无刷新提交表单

1、Jquery无刷新提交表单

可以使用$.ajax或者$.post 都可以,代码也一样。

使用$(“#form的ID”).serialize();获取表单数据,

代码如下:

 var posturl='处理提交数据的页面';
var parms=$("#form的ID").serialize();//获取form内表单数据
//返回值为json
$.post(posturl,parms, function(data) {
    //需要把返回值转为json
    var ressuobj=JSON.parse(data);
    if(ressuobj.error=='0000'){
      alert(ressuobj.msgstr);
      return false;
    }else{
      //提示错误信息,或者是错误编码
      //根据自己的需要提示
      alert(ressuobj.msgstr);
      return false;
    }
})  

2、jquery弹窗

1)alert确认弹窗

在提交表单的时候,如果为空会弹出一个窗口给出提示,日常使用alert;但是效果达不到我们的要求觉得不美观,需要我们自己制作div变相实现弹窗。以上传图片,没有选择图片点击上传为例:

图1 Jquery alert弹窗确认效果图

首先要制作好遮罩层,设置宽度高度100%;z-index:9;背景色透明度以及fixed,设置隐藏。

其次制作div的弹窗,z-index要比遮罩层的大,这样就可以漂浮到遮罩层的上边,同样隐藏。

在我们平时使用alert提醒的地方,不再执行alert,而是使用jquery显示遮罩层,还有div窗口,点击确认的时候,遮罩层,div窗口隐藏。

遮罩层和div弹窗我是放到了页面底部,也可以写入js里边,没有什么区别

代码如下:

 $(".zzc").show();
$(".divtc").show();
//zzc  divtc为遮罩层,div的class
$(".confirm").click(function(){ 
//confirm 为确认按钮的class
$(".zzc").hide();
$(".divtc").hide();
})  

我们可以对该提醒的方法封装,以后只要传入提示的信息,而不必每次都要写show hide。

2)confirm确认弹窗

图2 jquery 删除确认效果图

(1)如果是文章后边的删除,也就是删除单条文章,<a class=’delconfi’ datalink=’删除文章的URL’>删除</a>

不能写href,通过jquery 获取data-link在js内跳转

 $(".delconfi").click(function(){
 var datalink=$(this).attr('datalink');
$(".zzc").show();
$(".divtc").show();
//zzc  divtc为遮罩层,div的class
$(".quxiao").click(function(){ 
//quxiao 为取消按钮的class
$(".zzc").hide();
$(".divtc").hide();
});
$(".confirm").click(function(){ 
//confirm 为确认按钮的class
window.location.href=datalink;
//跳转到其他页面 是否隐藏遮罩层已经没有关系
});
  
})  

(2)文章列表多选的删除

文章放到form内,删除按钮只是一个简单的button按钮,不是submit,form加上id=myform;

当点击确认按钮以后,将上述代码的跳转,换成$(“#myform”).submit();

 $(".confirm").click(function(){ 
    $("#myform").submit();
});  

3、添加文章会用到富文本编辑器编辑文章内容

1)如果编辑器集成了php上传图片,要检查下是不是验证了安全性,防止图片木马;

2)如果默认上传图片在文本编辑器所在文件夹,我们要做一下修改,存放图片的文件夹放到外边,也就是不要和编辑器在一个文件夹;

3)我们修改编辑器原来的文件夹名称,如果为多个客户开发,可以为每个客户设置不同的文件夹名称;

4、mysql主表附表

当表中数据过多的时候,分页是比较慢的,所以做之前我们要做好规划。

thinkphp6 join 关联查询:

数据很多,开始建表,我就可以创建2个表(主表和附表)主表存放主要的ID,名称,存放得越少越好,附表存放其他的比如ID,内容,时间,分类,unionid等,2个表的ID不一定相同的,需要unionid字段关联。读取的时候使用join关联。

如果使用了表前缀,这里需要获取,Config实际上就是读取config文件夹下的文件,例如:读取数据库Config(“database”),读取session配置就是Config(“session”),Config(“文件名称”),打印出来或者我们打开database.php可以看到在prefix最后一层。这里我是一层一层地选出来的,可能有别的方法直接读取,我没去查看。

 //dump(config("database"));
$prefix=Config("database.connections.mysql.prefix");  
 Db::name('web_zhubiao')
  ->alias('a')
  ->join($prefix."web_fubiao b",'a.id=b.unionid')
  ->field('a.id.b.name')
  ->后边就是条件
//字段都要加上代表表的a b例如:a.id>11  

经过测试:表有多个字段读取2个和表中就有这2个字段读取,执行效率是不同的越少读取的越快。

文章来源:智云一二三科技

文章标题:php手把手教你做网站(十三)Jquery无刷新提交表单

文章地址:https://www.zhihuclub.com/150516.shtml

关于作者: 智云科技

热门文章

网站地图