Я хочу установить проверку уникального идентификатора электронной почты в yii, но он не работает должным образом, поэтому в чем проблема. мой код формы, как показано ниже:return false not works for ajax success function in yii
<div class="row">
<?php echo $form->labelEx($model1,'user_email'); ?>
<?php echo $form->textField($model1, 'user_email', array('maxlength' => 300)); ?>
<?php echo $form->error($model1, 'user_email', array('clientValidation' => 'js:customValidateemail(messages,this.id)'), false, true);
$infoFieldFile1 = (end($form->attributes)); ?>
<p class="emailUniqueCheck" style="margin-left: 24%; color: red;">
</div>
мой Аякса код, как показано ниже:
<script>
function customValidateemail(messages,id){
var nameC= '#'+id;
var a = $(nameC).val();
if (a == '') {
messages.push('Email Id is empty.');
return false;
}
var email = $("#Registration_user_email").val();
$(".emailUniqueCheck").html('<img alt="Loader" src="/images/loading.gif" />');
$.ajax({
url:"<?php echo Yii::app()->request->baseUrl;?>"+"/Supplier/checkUniqueEmail?email="+a,
data:'req=add_more',
dataType:'html',
type:'POST',
async: false,
success:function(resp){
if(resp == 1) {
$(".emailUniqueCheck").html("Email Already exists.");
return false;
} else {
$(".emailUniqueCheck").html("Proceed.");
}
},
error:function(er){
alert("An error has occured, Please reload/refresh the page and try again.");
}
});
}
здесь, vaidation работает на пустой электронной почты означает if(a == '') { alert('bla bla'); }
и и страницы также не представляет по щелчку (если требуется.)
Для проверки правильности ответа на ajax, но только return false;
не работает. и форма подает. Я пробовал много вещей, но не работал. так может кто-нибудь мне помочь?
Попробуйте сделать синхронный запрос Ajax вместо асинхронного .. Это будет блокировать ваш браузер ждет ответ, но ваше возвращение FALSE будет иметь какой-то эффект. – Svetoslav
что вы пытаетесь сказать ??? пожалуйста, объясните кратко. –
используйте $ .ajax вместо $ .post. Вы можете сделать async: false, используя $ .ajax. Дайте мне знать, если вы хотите, чтобы я изменил ваш код для правильной работы. –