javascript生成的对象在出现后立即消失
单击一个按钮,我调用一个python脚本,并将结果填充到一个数组中。完成后,我创建的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
对象数量与数组长度相同。问题是,一旦链接显示出来,它们就会立即消失
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如果通过“传统按钮"你指的是一个元素,这是如何解决问题的?无论是
还是
都不执行提交。顺便说一句,请注意,如果你没有为按钮元素提供类型
属性,某些浏览器在某些情况下也会提交页面。因此最好始终提供你想要的类型
冷冰冰的。很好-我不知道如何绕过。