#javascript
Вопрос:
Я все еще изучаю JS со временем, поэтому, пожалуйста, простите мой язык «js» и объяснения. У меня есть система, которая получает массив от контроллера и передает его в view.html используя функцию .change. Для загрузки информации требуется время в зависимости от данных, загружаемых в контроллер, поэтому для загрузки данных требуется разное время.
Затем данные загружаются через iframe в представление с помощью приведенного ниже кода. Я заметил, что когда пользователь вводит данные для загрузки дополнительных данных, в то время как предыдущие данные все еще загружаются, он также начинает запускать функцию, не дожидаясь завершения первого. Я хочу запретить запуск следующей функции до тех пор, пока не будет завершена первая.
<input id='Input' type="submit" name="message" ask="" >
<input id='Input' class='Input' type="submit" name="message" ask="<iframe class='responsive-iframe' onLoad='IframeLoad();' ></iframe>" answer="true">
<input id='Input1' type="submit" name="message" ask="" >
<input id='Input1' class='Input1' type="submit" name="message" ask="<iframe class='responsive-iframe' onLoad='IframeLoad();' ></iframe>" answer="true">
<input id='Input2' type="submit" name="message" ask="" >
<input id='Input2' class='Input2' type="submit" name="message" ask="<iframe class='responsive-iframe' onLoad='IframeLoad();' ></iframe>" answer="true">
$(document).ready(function(){
var arr = [];//From controller, can be variable in size
$('#Input').change(function(){
arr.push($(this).val());
var arrayJSON = JSON.stringify(arr);
localStorage.setItem("TheData",arrayJSON);
});
$('#Input1').change(function(){
arr.push($(this).val());
var arrayJSON = JSON.stringify(arr);
localStorage.setItem("TheData",arrayJSON);
});
$('#Input2').change(function(){
arr.push($(this).val());
var arrayJSON = JSON.stringify(arr);
//sessionStorage.setItem("TheData",arrayJSON);
localStorage.setItem("TheData",arrayJSON);
});
});