Я новичок в AJAX/JQuery/Javaascript, поэтому, пожалуйста, простите мое невежество. Я нашел код, который поможет мне отобразить окно AJAX после нажатия кнопки отправки формы.Скрыть javascript сообщение через 10 секунд
Вот код:
var ray={
ajax:function(st)
{
this.show('load');
},
show:function(el)
{
this.getID(el).style.display='';
},
getID:function(el)
{
return document.getElementById(el);
}
}
Вот HTML форме:
<div id="load" style="display:none;">Loading... Please wait.</div>
<form action="test_form.php" method="POST" onsubmit="return ray.ajax()">
<input type="hidden" name="value1" value="value1>">
<input type="submit" value="Submit">
</form>
Сообщение загрузки отображается только в порядке, когда кнопка нажата, но никогда не исчезает. В идеале я хотел бы, чтобы сообщение исчезло после завершения работы, но скрытие его через 10 секунд будет работать так же хорошо.
Я пробовал различные изменения, используя hide() и setTimeout(), но мой недостаток опыта работы с AJAX/JavaScript продолжает разрывать код.
Функции ajax обычно поддерживают обратные вызовы, вызываемые при возврате данных с сервера или в условиях ошибки. Ваша логика «скрыть» должна идти туда, где есть разделы обратного вызова вашей библиотеки ajax. –
где же действительно код ajax? –
Является ли вызов AJAX на самом деле вызываемым? Из вашего ограниченного фрагмента кода вы не вызываете вызов AJAX. Вместо этого вы просто загружаете «загрузка, пожалуйста, подождите», а затем выполняйте POST в форме. – PressingOnAlways