Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.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
Javascript Ajax表单验证Zend Framework 2?_Javascript_Php_Ajax_Zend Framework2 - Fatal编程技术网

Javascript Ajax表单验证Zend Framework 2?

Javascript Ajax表单验证Zend Framework 2?,javascript,php,ajax,zend-framework2,Javascript,Php,Ajax,Zend Framework2,我将遵循以下教程: 我不想在我的代码中弹出窗口,因此根据上面的教程代码,直接通过localhost/ajax\u demo/public/testajax/skeleton/showform调用showform操作。提交此表单时,其调用validatepostajax函数两次意味着验证两次,并将数据保存到数据库中两次 请帮助我如何防止它只提交和验证一次 提前谢谢 我的ajax表单代码是: $(function(){ $("form#loginform").sub

我将遵循以下教程:

我不想在我的代码中弹出窗口,因此根据上面的教程代码,直接通过localhost/ajax\u demo/public/testajax/skeleton/showform调用showform操作。提交此表单时,其调用validatepostajax函数两次意味着验证两次,并将数据保存到数据库中两次

请帮助我如何防止它只提交和验证一次

提前谢谢

我的ajax表单代码是:

        $(function(){
        $("form#loginform").submit(function(){

            $.post(url_loginform,
                   { 'username'    : $('input[name=username]').val(),
                     'password'    : $('form#loginform input[name=password]').val(),
                     'agree' : $('form#loginform input[type=checkbox]').val()    
                   }, function(itemJson){
                     $('.error').remove();
                     $('.success').remove();
                    /*Check error exist or not For each form element and set validation messages HTML*/
                    var error = false;
                    if (!error){                     
                        if (itemJson.success == 1){
                            $("#loginform").prepend('<li class="success">Login Successfully</li>');
                        }
                    }
                    /*Invalid Credentials*/
                   if (itemJson.error == 1){
                            $("#loginform").prepend('<li class="error">Invalid Credentials</li>');
                    }

            }, 'json');

            return false;
        });
      });     
$(函数(){
$(“表单#loginform”).submit(函数(){
$.post(url\u登录表单,
{'username':$('input[name=username]')。val(),
“password”:$(“form#loginform input[name=password]”)。val(),
“同意”:$(“表单#登录表单输入[type=checkbox]”)。val()
},函数(itemJson){
$('.error').remove();
$('.success').remove();
/*检查每个表单元素是否存在错误,并设置验证消息HTML*/
var错误=错误;
如果(!error){
if(itemJson.success==1){
$(“#loginform”).prepend(“
  • 成功登录”
  • ”); } } /*无效凭证*/ if(itemJson.error==1){ $(“#loginform”).prepend(“
  • 无效凭据”); } }“json”); 返回false; }); });

  • 这段代码是根据上面的链接开发的,但它执行了两次。所以我怎么能只调用一次呢。

    这可能与您的JavaScript实现有关。你没有发布任何代码,所以我可以简单地推测一下


    可能您已经为click事件绑定了多次ajax请求?(f.e.)

    感谢您的回复您的链接帮助解决了我的问题。因此,我可以改进我的代码,如$(function(){$(“form#loginform”)。解除绑定(“submit”);$(“form#loginform”)。提交(function(){……});