У меня 2 веб-страницы, где код работает на одной странице, а на другой странице он не будет работать. Код должен открыть новое окно с предоставленным файлом для отображения представленного файла. По какой-то причине он не будет делать это на странице, которая терпит неудачу.Почему код не был достигнут?
Кода, который берется из Мудла:
function openDV(dvtype, submission_id, coursemoduleid) {
alert('i opendv');
$.ajax({
type: "POST",
url: "../../plagiarism/turnitin/ajax.php",
dataType: "html",
data: {action: dvtype, submission: submission_id, cmid: coursemoduleid},
success: function(data) {
alert('i success');
$("."+dvtype+"_form_"+submission_id).html(data);
alert('i success 2: '+"."+dvtype+"_form_"+submission_id);
$("."+dvtype+"_form_"+submission_id).children("form").on("submit", function(event) {
alert('debug 2');
dvWindow = window.open('', 'dv_'+submission_id);
dvWindow.document.write('<frameset><frame id="dvWindow" name="dvWindow"></frame></frameset>');
dvWindow.document.close();
$(dvWindow).bind('beforeunload', function() {
refreshScores(submission_id, coursemoduleid);
});
});
alert('i success 3');
$("."+dvtype+"_form_"+submission_id).children("form").submit();
$("."+dvtype+"_form_"+submission_id).html("");
},
error: function() {
alert('error!');
}
});
}
На странице упущения, код, который alert('debug 2');
не достигается. Зачем?
'$ (". "+ Dvtype +" _ form _ "+ submission_id) .children (" form "). On (" submit ",' только прикрепляет обработчик событий, но не вызывает его. PS: это ужасная штука – zerkms
@zerkms Хорошо, но почему он работает на других страницах? Он также работает локально, но не на сервере ссылок. Я думал, что должна быть какая-то разница , но строка вызывается на другой странице, где используется код. –
Я не уверен, что означает «работа» в этом случае: '.on()' только прикрепляет обработчик и никогда не вызывает его. Просто по определению. – zerkms