【发布时间】:2011-08-13 17:43:28
【问题描述】:
从今天早上开始,我就被 the Jquery Validation Engine 和 codeigniter 困住了。我有一个包含姓名、电子邮件、密码的表单......我用 Jquery 检查所有这些字段,然后在 php 中检查。
当用户输入已使用的电子邮件时,会出现一个带有错误消息的工具箱,但表单仍在提交...如果我留下一个空的电子邮件字段,则不会提交。 所以我猜当它在数据库中检查它之后并没有采取好的行动(它返回错误......)
这是我认为的代码:
<?php $data_email_signup = array(
'name' => 'email_signup',
'id' => 'email_signup',
validate[required,custom[email],ajax[ajaxEmailCall]]'
);
echo form_input($data_email_signup); ?>
...
...
jQuery(document).ready(function(){
jQuery("#form_signup").validationEngine({
submitHandler: function(form) {
form.submit();
}
});
});
在jquery.validationEngine-fr.js 我有:
"ajaxEmailCall": {
"url": "/.../ajaxValidateFieldEmail.php",
"alertTextLoad": "* Please wait",
"alertText": "* Email already used"
},
在文件ajaxValidateFieldEmail.php我有:
<?php
$validateValue=$_POST['fieldValue'];
$validateId=$_POST['fieldId'];
$arrayToJs = array();
$arrayToJs[0] = $validateId;
$resultats=$connexion->query("SELECT ...");
$count = $resultats->rowCount();
if($count == 0){
$arrayToJs[1] = true;
echo json_encode($arrayToJs);
}
else {
$arrayToJs[1] = false;
echo json_encode($arrayToJs);
}
?>
Firebug 返回 FALSE,当我输入已使用的电子邮件时,它会显示 已使用的电子邮件,但我不明白为什么要验证表单。
有人有想法吗?
【问题讨论】:
标签: jquery forms jquery-validation-engine