Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/346.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生成的对象在出现后立即消失_Javascript_Python - Fatal编程技术网

javascript生成的对象在出现后立即消失

javascript生成的对象在出现后立即消失,javascript,python,Javascript,Python,单击一个按钮,我调用一个python脚本,并将结果填充到一个数组中。完成后,我创建的对象数量与数组长度相同。问题是,一旦链接显示出来,它们就会立即消失 Body: //I obviously get the same effect by putting the onclick event in the submit button window.onload = function() { alert("loaded"); document.getElementById('submi

单击一个按钮,我调用一个python脚本,并将结果填充到一个数组中。完成后,我创建的
对象数量与数组长度相同。问题是,一旦链接显示出来,它们就会立即消失

Body:
//I obviously get the same effect by putting the onclick event in the submit button
window.onload = function() {
    alert("loaded");
    document.getElementById('submit_searchsubs').onclick = function () { 
        FindSubtitles();
    };
};

function FindSubtitles() {

        postData = {"movie": "Outlander", "season":"1", "episode":"2"};             
            $.ajax({
                url: "/cgi-bin/find_subtitles.py",
                type: "post",
                datatype:"json",
                async : false,
                data: {postData},
                success: function(response){
                    var subs = new Array();
                    var json = $.parseJSON(response);
                    for (var i=0;i<json.length;++i) {
                        subs[i] = new Array(json[i].IDSubtitle, json[i].SeriesEpisode, json[i].SubHash, json[i].SubDownloadsCnt, json[i].SeriesSeason, json[i].ZipDownloadLink, json[i].MovieName, json[i].id, json[i].SubFileName);
                    }
                    DisplaySubtitles(subs); //show the users the new words found in this subtitle
                } 
            })
            .fail(function(err) {
                alert("error" + err);
            });

    }

function DisplaySubtitles(subs) {
        var SubtitleDiv = document.getElementById("SubtitleDiv");
        var a = document.createElement('a');
        for (i = 0; i < subs.length; i++) {
            var linkText = document.createTextNode(subs[i][8]);
            a.appendChild(linkText);
            SubtitleDiv.appendChild(a);
        }
}
正文:
//我将onclick事件放在submit按钮中显然也会得到同样的效果
window.onload=函数(){
警报(“已加载”);
document.getElementById('submit_searchsubs')。onclick=function(){
FindSubtitles();
};
};
函数FindSubtitles(){
postData={“电影”:“外地人”,“季节”:“1”,“插曲”:“2”};
$.ajax({
url:“/cgi-bin/find_subtitles.py”,
类型:“post”,
数据类型:“json”,
async:false,
数据:{postData},
成功:功能(响应){
var subs=新数组();
var json=$.parseJSON(响应);

对于(var i=0;i,如Kieveli所述,如果submit\u searchsubs是一个提交的表单按钮,则它可能在提交后刷新页面。请尝试使用return false;绕过默认的浏览器onclick操作

document.getElementById('submit_searchsubs').onclick = function () { 
    FindSubtitles();
    return false;
};

您的“submit\u searchsubs”是一个提交表单的按钮吗?可能在表单提交后页面正在重新加载。就是这样。它是一个输入按钮,它重新加载了页面。我将它改为传统按钮,现在它可以工作了!谢谢!请将此添加为答案。我选择此选项是为了给您假想的分数!很高兴我能提供帮助。@erdomester如果通过“传统按钮"你指的是一个元素,这是如何解决问题的?无论是
还是
都不执行提交。顺便说一句,请注意,如果你没有为按钮元素提供
类型
属性,某些浏览器在某些情况下也会提交页面。因此最好始终提供你想要的
类型
冷冰冰的。很好-我不知道如何绕过。