2
在一個按鈕上單擊我調用python腳本,然後將結果填充到數組中。完成後,我會創建<a href>
個對象作爲陣列的長度的<a href>
個對象。問題是,一旦鏈接顯示,它們立即消失。javascript生成的對象在出現後立即消失
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);
}
}
所以會發生什麼:
- 頁面加載 因爲它的window.onload燃煤真實
- FindSubtitles
- 警報( 「裝」)顯示運行
- DisplaySubtitles運行和
<a>
鏈接出現 <a>
鏈接消失,警報(「已加載」)顯示再次。
我不知道我是否應該使用async: true
,因爲在這種情況下,我得到[Object object]
錯誤,這很奇怪,因爲在另一個腳本我使用的情況下,否則將凍結的UI。
任何想法?
您的'submit_searchsubs'是否提交表單按鈕?也許頁面在表單提交後重新加載。 – Kieveli
就是這樣。這是一個輸入按鈕,它重新加載了頁面。我將它改爲傳統的按鈕,現在它可以工作!謝謝!請添加此作爲答案。 – erdomester
我選擇,而不是給你想象的點!很高興我能幫上忙。 – Kieveli