Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/384.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
停止javascript以在alert()函数之后重定向_Javascript_Alert - Fatal编程技术网

停止javascript以在alert()函数之后重定向

停止javascript以在alert()函数之后重定向,javascript,alert,Javascript,Alert,我正在使用javascript检查文件大小。如果它大于1m,则显示警报,然后重定向到索引页 我想知道如何使它在没有重定向和刷新的情况下保持在同一页面上,并保持用户插入的所有页面信息不变 代码如下: if(fileInput.files[0].size > 1050000) { alert('File size is bigger than 1Mb!'); return false; } 孔代号: var handleUpload = function(event){

我正在使用javascript检查文件大小。如果它大于1m,则显示警报,然后重定向到索引页

我想知道如何使它在没有重定向和刷新的情况下保持在同一页面上,并保持用户插入的所有页面信息不变

代码如下:

if(fileInput.files[0].size > 1050000) {
    alert('File size is bigger than 1Mb!');
    return false;
}
孔代号:

var handleUpload = function(event){
    event.preventDefault();
    event.stopPropagation();

    var fileInput = document.getElementById('file');

    var data = new FormData();

    data.append('javascript', true);

    if(fileInput.files[0].size > 1050000) {
        //document.getElementById("image_id").innerHTML = "Image too big (max 1Mb)";
        alert('File bigger than 1Mb!');
        //window.location="upload.php";
        return false;
        }

    for (var i = 0; i < fileInput.files.length; ++i){

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

    }   

    var request = new XMLHttpRequest();

    request.upload.addEventListener('progress', function(event){
        if(event.lengthComputable){
            var percent = event.loaded / event.total;
            var progress = document.getElementById('upload_progress');

            while (progress.hasChildNodes()){
                progress.removeChild(progress.firstChild);
            }
            progress.appendChild(document.createTextNode(Math.round(percent * 100) +' %'));
            document.getElementById("loading-progress-17").style.width= Math.round(percent * 100) +'%';
        }
    });
    request.upload.addEventListener('load', function(event){
        document.getElementById('upload_progress').style.display = 'none';
    });
    request.upload.addEventListener('error', function(event){
        alert('Upload failed');
    });
    request.addEventListener('readystatechange', function(event){
        if (this.readyState == 4){
            if(this.status == 200){
                var links = document.getElementById('uploaded');
                var uploaded = eval(this.response);
                var div, a;
                for (var i = 0; i < uploaded.length; ++i){
                    div = document.createElement('div');
                    a = document.createElement('a');
                    a.setAttribute('href', 'files/' + uploaded[i]);
                    a.appendChild(document.createTextNode(uploaded[i]));
                    div.appendChild(a);
                    links.appendChild(div);
                }
            }else{
                console.log('server replied with HTTP status ' + this.status);
            }
        }
    });
    request.open('POST', 'upload.php');
    request.setRequestHeader('Cache-Control', 'no-cache');
    document.getElementById('upload_progress').style.display = 'block';
    request.send(data);

}

window.addEventListener('load', function(event){

    var submit = document.getElementById('submit');
    submit.addEventListener('click', handleUpload);
});
var handleUpload=函数(事件){
event.preventDefault();
event.stopPropagation();
var fileInput=document.getElementById('file');
var data=new FormData();
data.append('javascript',true);
如果(fileInput.files[0].size>1050000){
//document.getElementById(“image_id”).innerHTML=“图像太大(最大1Mb)”;
警报('文件大于1Mb!');
//window.location=“upload.php”;
返回false;
}
对于(变量i=0;i
带有html的upload.php代码

<?php
foreach($_FILES['file']['name'] as $key => $name){
        if ($_FILES['file']['error'][$key] == 0 && move_uploaded_file($_FILES['file']['tmp_name'][$key], "files/{$name}")){
            $uploaded[] = $name;
        }
    }
    if(!empty($_POST['javascript'])){
        die(json_encode($uploaded));
    }
?>

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <script type="text/javascript" src="upload.js"></script>
</head>
<body>
        <div id="uploaded">
            <?php

            if (!empty($uploaded)){
                foreach ($uploaded as $name){
                    echo '<div><a href="files/',$name,'">',$name,'</a></div>';
                }
            }

            ?>
             </div>
<div id="upload_progress"></div>
        <div>
            <form action="" method="post" enctype="multipart/form-data">
<input type="file" id="file" name="file[]" />
<input type="submit" id="submit" value="upload" />
</form>


提前感谢

您可以摆脱
返回
它应该可以工作。否则,也许你应该尝试模态而不是警报。它们更加整洁漂亮

返回false会阻止重定向

       var val = $("#inputId").val();      

        if (val >= 0 || val <=9)
        {           
            return true;
        }
        else
        {
            alert("Enter Digits Only");
            return false;
        }
     ```
var val=$(“#inputId”).val();

如果(val>=0 | | val在警报函数下方添加
event.preventDefault();


这可能会帮助您保持在同一页面上。

显示执行重定向的代码。在警报框中按“确定”后,它会将我重定向到索引page@Barmar需要页面代码吗?如果我们一开始不知道它是如何重定向的,那么很难告诉我们如何阻止它重定向。请尝试将其减少到理解所需的最小值发生了什么。PHP代码与此无关,因为当大小检查失败时,您不会进行上载。重要的是调用
handleupload()
的代码,它必须执行重定向。在这种情况下,请尝试modals。