У меня есть page1.php, и у меня есть fly.php.page1.php - это простая (обычная) страница формы, где люди помещают информацию, когда пользователь отправляет форму.
- через ajax он загружает шаблон капчи и просит проверить на лету (пока все в порядке).
- После проверки onFly, я хочу разрешить это .submit () продолжить
Вопрос: How can i after .submit() pause for validatio
n этой капчи и после успешной проверки возобновить отправку формы (которая приостановлена)?
Пример:
Часть 1: page1.php
$(document).ready(function()
{
$('.callmeback').submit(function()
{
$.ajax({
type : "GET",
url : "/include/class/fly.php",
data : "a=b",
async : false,
beforeSend: function()
{
$(document.body).find('.blackwindow').remove();
$(document.body).find('.nospam').remove();
},
complete: function()
{
},
success : function(msg)
{
$(document.body).append(msg);
$('.blackwindow').css({
'opacity':'0.90'
});
$('.nospam').find('input[type="button"]').live("click", function()
{
// final validation
var security= $('.nospam').find('#security').val();
var random = $('.nospam').find('#random').val();
if (random!=security)
{
alert ('Invalid captcha.');
return false;
} else {
// Basically its second time? and return true?
}
});
}
});
//return false;
});
});
<form method=post action=thanks.php class="callmeback">
<input type=text value=100.00 name=amount />
<input type=submit value=submit name=submit />
</form>
Часть 2: fly.php
<? require_once 'obj.php';?>
.blackwindow {
position:fixed;
top:0px;
left:0px;
width:100%;
height:100%;
z-index:1000;
background-color:#000000;
}
.nospam {
position:fixed;
top:30%;
left:30%;
padding:12px;
border:solid 3px #686868;
background-color:#ffffff;
z-index:1001;
}
<div class="blackwindow"></div>
<div class="nospam">
<div>
<?
$value = obj::getRandom();
echo '<img src="include/class/return_img.php?number=' . $value . '" />';
echo "<input type='hidden' id='random' name='random' value='$value' />";
?>
<div>
*Please enter the above code below, to verify this request <br/>
<input type="text" class="textbox" id="security" name="security" />
</div>
</div>
<div>
<input type=button name=mybutton value="Verify" />
</div>
</div>
Продолжение (чтение корректуры):
$(document).ready(function()
{
$('.callmeback').find('input[type="button"]').live("click", function()
{
$.ajax({
type : "GET",
url : "/include/class/fly.php",
data : "a=b",
async : false,
beforeSend: function()
{
$(document.body).find('.blackwindow').remove();
$(document.body).find('.nospam').remove();
},
complete: function()
{
},
success : function(msg)
{
$(document.body).append(msg);
$('.blackwindow').css({
'opacity':'0.90'
});
$('.nospam').find('input[type="button"]').live("click", function()
{
// final validation
var security= $('.nospam').find('#security').val();
var random = $('.nospam').find('#random').val();
if (random!=security)
{
alert ('Invalid captcha.');
return false;
} else {
$('.callmeback').submit();
}
});
}
});
//return false;
});
});