为了账号安全,请及时绑定邮箱和手机立即绑定

ajax通过post方法向php进程发送日期值

ajax通过post方法向php进程发送日期值

PHP
守着星空守着你 2021-09-18 17:17:55
我正在使用 php 和 ajax 上传带有进度条动画的多个文件 一切正常,除了我无法使用 Post 方法获取日期值此代码返回空变量$expire = $_POST['expire'];我试图改变读取$expirefrom值的顺序$_POST['expire'] 但我总是得到一个空值!这是我的 import.php(包含上传多个文件的表单):<input type="file" name="file[]" id="file" required multiple accept="application/pdf" /><input type="date" name="expire" class="form-control" min="<?php echo date('Y-m-d') ?>" /><button type="submit" id="submit" name="submit" class="btn btn-success" style="width:100%">   Commencer <i class="fa fa-upload"></i></button>并且它包含te ajax代码来调用upload.php进程document.getElementById('submit').addEventListener('click', function(e){    e.preventDefault();    var f = document.getElementById('file'),        pb = document.getElementById('progressbar'),        pt = document.getElementById('progressbar-text'),        btn = document.getElementById('submit');    btn.innerHTML = "Chargement en cours …";    btn.disabled = true;        app.uploader({        files: f,        progressBar: pb,        progressText: pt,        processor: 'upload.php',        finished: function(data){            //        },        error: function() {            alert('Erreur ! veuillez réessayer SVP');        }    });});
查看完整描述

1 回答

?
qq_遁去的一_1

TA贡献1725条经验 获得超7个赞

干得好。我已经修改了您的代码,因此它包含 ID 为“过期”的输入值。您必须修改 HTML 代码,并且您的过期输入没有附加 ID。


<input type="file" name="file[]" id="file" required multiple accept="application/pdf" />

<input type="date" name="expire" id="expire" class="form-control" min="<?php echo date('Y-m-d') ?>" />

<button type="submit" id="submit" name="submit" class="btn btn-success" style="width:100%">Commencer <i class="fa fa-upload"></i>

上传.js


var app = app || {};


(function(o) {

    "use strict";


    // private methods 

    var ajax, getFormData, setProgress;


    ajax = function(data) {

        var xmlhttp = new XMLHttpRequest(), uploaded;


        xmlhttp.addEventListener('readystatechange', function(){

            if(this.readyState === 4){

                if(this.status === 200){

                    uploaded = JSON.parse(this.response);

                    if(typeof o.options.finished === 'function') {

                        o.options.finished(uploaded);

                    }

                } else {

                    if(typeof o.options.error === 'function') {

                        o.options.error();

                    }

                }




            } 

        });


        xmlhttp.addEventListener('progress', function(event) {

            var percent;

            if(event.lengthComputable === true){

                percent = Math.round((event.loaded / event.total) * 100);

                setProgress(percent);

            }

        });


        xmlhttp.open('post', o.options.processor);

        xmlhttp.send(data);

    }


    getFormData = function(source, expire) {

        var data = new FormData(), i;


        for (i = 0; i < source.length; i++) {

           data.append('file[]', source[i]);

        }


        data.append('ajax', true);

        data.append('expire', expire);




        return data;

    };


    setProgress = function(value){

        if(o.options.progressBar !== undefined){

            o.options.progressBar.style.width = value ? value + '%' : 0;

        }


        if(o.options.progressText !== undefined){

            o.options.progressText.innerText = value ? value + '%' : '';

        }

    };


    o.uploader = function(options) {

        o.options = options;


        if(o.options.files !== undefined){

            ajax(getFormData(o.options.files.files, o.options.expire.value));

        }

    };

}(app));

阿贾克斯代码:


document.getElementById('submit').addEventListener('click', function(e){

    e.preventDefault();

    var f = document.getElementById('file'),

        pb = document.getElementById('progressbar'),

        pt = document.getElementById('progressbar-text'),

        btn = document.getElementById('submit'),

        expire = document.getElementById('expire');



    btn.innerHTML = "Chargement en cours …";

    btn.disabled = true;    


    app.uploader({

        files: f,

        progressBar: pb,

        progressText: pt,

        processor: 'upload.php',

        expire: expire,



        finished: function(data){

            //


        },


        error: function() {

            alert('Erreur ! veuillez réessayer SVP');

        }

    });



});


查看完整回答
反对 回复 2021-09-18
  • 1 回答
  • 0 关注
  • 170 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信