У меня есть форма, которая при отправке отправляет данные для проверки в другой скрипт php через ajax. Ошибки проверки возвращаются в div в моей форме. Сообщение об успешном завершении также возвращается, если проверка прошла успешно.
Проблема в том, что форма все еще отображается после отправки и успешной проверки. Я хочу спрятать div после успеха.
Итак, я написал этот простой метод CSS, который отлично работает при вызове со страницы, на которой отображается форма.
Проблема в том, что я не могу вызвать скрипт скрытия через возвращенный код. Я могу вернуть HTML как
echo "<p>Thanks, your form passed validation and is being sent</p>";
Так что я предположил, что мог бы просто повторить еще одну строку после этого
echo "window.onload=displayDiv()";
внутри тегов скрипта (которые я не могу отобразить здесь) ...
и что бы он скрывал форму div.
Это не работает. Я предполагаю, что проблема в том, что javascript возвращается неправильно и не интерпретируется браузером ...
Как я могу вызвать свой «скрытый» сценарий на странице через возвращенные данные из моего сценария проверки? Я могу вернуть текст обратно, но вызов скрипта неэффективен.
Спасибо!
Это скрипт на странице с формой ...
Я могу вызвать его, чтобы показать / скрыть что-то вроде onclick = "displayDiv ()" в то время как на форме, но я не хочу, чтобы пользователь вызывал это ... он был вызван в результате успешной проверки когда я пишу результаты обратно в div ...
<script language="javascript" type="text/javascript">
function displayDiv()
{
var divstyle = new String();
divstyle = document.getElementById("myForm").style.display;
if(divstyle.toLowerCase()=="block" || divstyle == "")
{
document.getElementById("myForm").style.display = "none";
}
else
{
document.getElementById("myForm").style.display = "block";
}
}
</script>
PS: я использую библиотеку mootools.js для проверки формы, если это имеет значение для синтаксиса.
AJAX-вызов:
window.addEvent('domready', function(){
$('myForm').addEvent('submit', function(e) {
new Event(e).stop();
var log = $('log_res').empty().addClass('ajax-loading');
this.send({
update: log,
onComplete: function() {
log.removeClass('ajax-loading');
}
});
});
});
Журнал Div ID - это место, где отображается текст обратного вызова ajax (ошибки проверки и сообщение об успешном завершении) и графика загрузки