Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CakePHP模态AJAX检查是否未显示在灯光熄灭框中?_Ajax_Cakephp - Fatal编程技术网

CakePHP模态AJAX检查是否未显示在灯光熄灭框中?

CakePHP模态AJAX检查是否未显示在灯光熄灭框中?,ajax,cakephp,Ajax,Cakephp,好吧,这可能有一个非常简单的答案,但对于我的生活来说,我似乎找不到答案!我将用户从一个文本注册到一个lights out box(SimpleModel)中,AJAX将为管理员加载一个新页面,以便将用户注册到选定的客户机列表中 只要模型检查正确,这一切都可以正常工作,没有任何问题。我有两个检查,一个确保用户名是唯一的,密码至少有8个字符,代码如下。但是当一个或两个检查都不满足时,用户将被带到AJAX URL,然后显示“消息”。这不是我需要的,我需要把它带回熄灯盒,或者将这些信息设置为要打印到屏幕

好吧,这可能有一个非常简单的答案,但对于我的生活来说,我似乎找不到答案!我将用户从一个文本注册到一个lights out box(SimpleModel)中,AJAX将为管理员加载一个新页面,以便将用户注册到选定的客户机列表中

只要模型检查正确,这一切都可以正常工作,没有任何问题。我有两个检查,一个确保用户名是唯一的,密码至少有8个字符,代码如下。但是当一个或两个检查都不满足时,用户将被带到AJAX URL,然后显示“消息”。这不是我需要的,我需要把它带回熄灯盒,或者将这些信息设置为要打印到屏幕上的闪光错误信息

或者我应该从模式中删除这些检查并让JQuery检查它们吗

有什么想法吗

欢迎大家帮忙

型号代码::

 public $validate = array(
        'username' => array(
            'required' => array(
                'rule' => array('isUnique'),
                'message' => 'Sorry but a unique username is required'
            )
        ),
        'password' => array(
            'required' => array(
                'rule' => array('minLength', '8'),
                'message' => 'Sorry but a password of 8 characters or more is required'
            )
        ) ... more check follow but these are the issues....
CTP文件::

$this->layout = 'ajax';
$AddUserForm = $this->Form->create('User', array('url' => '/ADD-USER-URL-HERE'));
$AddUserForm .= $this->Form->input('username');
$AddUserForm .= $this->Form->input('password');
$AddUserForm .= $this->Form->input('role', array('options' => array('admin' => 'Admin', 'user' => 'User')));
$AddUserForm .= $this->Form->input('data_id', array('options' => array($data), 'empty'=>true));

$AddUserForm .= $this->Form->end(__('SAVE NEW USER')); 
echo  $AddUserForm;

在您的
ctp
文件中

$('form').on('submit', function(e) {
    e.preventDefault();
    $.post($(this).attr('action'), $(this).serialize(), function(res) {
        $('form').replaceWith(res);
    })
})
可用于使用上述脚本验证数据

我认为这将帮助您通过ajax提交表单,您还可以使用来自
ajax
的响应显示错误消息


希望这能对您有所帮助。

意味着它通过重新加载页面提交表单,导致弹出窗口关闭,是吗?是的,它似乎加载了模式,至少部分加载,因为它似乎检查字段是否为空,但当涉及到用数据库中的内容检查输入字段的数据时,似乎需要重新装载货物。因此,我需要找到一种方法,用ajax或其他什么工具来检查这些功能。。。有什么想法吗?哇!!非常感谢这段代码的工作!!我想我了解其中的大部分内容,但是您可以推荐的任何帮助站点都会将其分解,因为我不确定它是如何以模式的形式提取数据的。代码中的这一点是最后一行,其中.replaceWith(res)抱歉,我没有理解您想要说的内容。$('form').replaceWith(res);这是来自服务器的响应,在您的示例中是纯html。顺便说一句,这是
ajax
callSorry的success函数的选项,但是当没有错误消息时,我如何阻止它运行,因为表单现在将整个页面重新加载到lights out框中,我只希望它在CakePHP抛出错误消息时触发,当用户没有输入8位密码或输入相同的用户名时,它会返回错误消息!