Я загружаю встроенную регистрационную форму в FancyBox из jQuery. Однако после отправки формы окно сразу закрывается, хотя есть некоторые отзывы, которые я хочу показать пользователю в самом FancyBox. Этот отзыв создается на стороне сервера и печатается в FancyBox.
Как сделать так, чтобы окно закрывалось только при отсутствии обратной связи? Я думал об использовании ajax для обновления самого FancyBox, а не всей страницы после обновления. Но я просто не могу понять, как этот ajax $ .ajax ({type, cache, url, data, success}); работает ... Также кажется, что в javascript нет никакой реакции от 'submit bind'.
Я надеюсь, что кто-то может помочь мне с этой проблемой. Я вставляю свой код ниже. Если есть вопросы, пожалуйста, задавайте ..
Спасибо заранее!
Это JavaScript:
<script type="text/javascript">
$(document).ready(function() {
$("#various1").fancybox({
'transitionIn' : 'none',
'transitionOut' : 'none',
'scrolling' : 'no',
'titleShow' : false,
'onClosed' : function() {
$("#registration_error").hide();
}
});
});
$("#registration_form").bind("submit", function() {
if ($("#registration_error").val() != "Registration succeeded!") {
$("#registration_error").show();
$.fancybox.resize();
return false;
}
$.fancybox.showActivity();
$.ajax({
type : "POST",
cache : false,
url : "/data/login.php",
data : $(this).serializeArray(),
success : function(data) {
$.fancybox(data);
}
});
return false;
});
Это встроенная форма, которую я показываю в FancyBox:
<div style="display: none;">
<div id="registration" style="width:227px;height:250px;overflow:auto;padding:7px;">
<?php echo "<p id=\"registration_error\">".$feed."</p>"; ?>
<form id="registration_form" action="<?php echo $_SERVER['PHP_SELF'] ?>" method="post">
<p>
<label for="username">Username: </label>
<input type="text" id="login_name" name="username" size="30" />
</p>
<p>
<label for="password">Password: </label>
<input type="password" id="pass" name="pw" size="30" />
</p>
<p>
<label for="repeat_password">Repeat password: </label>
<input type="password" id="rep_pass" name="rep_pw" size="30" />
</p>
<p>
<input type="submit" value="Register" name="register" id="reg" />
</p>
<p>
<em></em>
</p>
</form>
</div>
</div>