12306余票查询(六)——优化页面结构,加入js请求数据部分

12 篇文章 0 订阅
9 篇文章 3 订阅

首先第一点优化是,默认查询的出发站是深圳
依旧全是jquery实现

$("input").eq(0).val("深圳");

用户需要手动输入目的地,页面加载完毕后,目的地输入栏获取焦点

 // 获取焦点
$("input").eq(1).focus();

设置初始时间为当前明天

 // 设置默认出发时间为明天
    function getFormatDate(){    
        var nowDate = new Date();     
        var year = nowDate.getFullYear();    
        var month = nowDate.getMonth() + 1 < 10 ? "0" + (nowDate.getMonth() + 1) : nowDate.getMonth() + 1;    
        var date = nowDate.getDate() < 10 ? "0" + nowDate.getDate() : nowDate.getDate();  
        date += 1;  
        return year + "-" + month + "-" + date;    
    }
    $("input").eq(2).val(getFormatDate())

这里写图片描述
接着判断提交的信息是否合法

 // 判断参数是否合法
            if(start == ""){
                alert("请输入出发地");
                $("input").eq(0).focus();
                return
            }
            if(destiction == ""){
                alert("请输入目的地");
                $("input").eq(1).focus();
                return
            }
            if(date == ""){
                alert("请输入出发时间");
                $("input").eq(2).focus();
                return
            }else if(/2018-[0-1][6-9]-[0-2][0-9]/.test(date)){

            }
            else{
                alert("请输入合法出发时间");
                $("input").eq(2).focus();
                return
            }

依次检查参数,不合法会警告,并自动获取焦点
若全都合法,js执行python代码获得对应数据,拼接进html中,更新页面

 var data = await eel.getdata(start,destiction,date)();
            body = old_body + data;
            $("body").html(body);

这里的old_body是指获取的是最初的body的意思,在click世界外获取一下body.val()就好,避免查询结果不断累积
完整的绑定点击事件的代码

  $("#submit").stop().click(
        **async** function(){
            var start = $("#start_station").val();
            var destiction = $("#destinction_station").val();
            var date = $("#date").val();
            // 判断参数是否合法
            if(start == ""){
                alert("请输入出发地");
                $("input").eq(0).focus();
                return
            }
            if(destiction == ""){
                alert("请输入目的地");
                $("input").eq(1).focus();
                return
            }
            if(date == ""){
                alert("请输入出发时间");
                $("input").eq(2).focus();
                return
            }else if(/2018-[0-1][6-9]-[0-2][0-9]/.test(date)){

            }
            else{
                alert("请输入合法出发时间");
                $("input").eq(2).focus();
                return
            }
            // 若运行到这里说明参数都合法,进行请求数据
            var data = **await eel.getdata(start,destiction,date)();**
            body = old_body + data;
            $("body").html(body);
        }
    )

这里的asyncawait eel.getdata 是什么鬼,下一节再说
每次写个特长的文章都没人看

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值