isEmpty未定义 - 错误

时间:2013-10-25 14:34:35

标签: javascript php ajax jquery

我收到错误,因为没有定义isEmpty。我必须做什么。同时警告也没有显示任何警报。

 <!DOCTYPE html>
            <html>
            <head>
            <title>Login page</title>
            <script type="text/javascript" src="js/jquery.min.js">
            </script>
            <script type="text/javascript" src="js/scripts.js">
            </script>
     <script type="text/javascript" src="js/bootstrap.js">
    </script>
     <script type="text/javascript" src="js/bootstrap-tooltip.js">
    </script>
      <script type="text/javascript" src="js/bootstrap-popover.js">
    </script>

            <script type='text/javascript'>

    jQuery.fn.extend(
        {
        scrollToMe: function () {
            var x = jQuery(this).offset().top - 100;
            jQuery('html,body').animate({scrollTop: x}, 500);
          }
        }
      );

      function show_error(id_wth_hash, Message) {
        alert(id_wth_hash);
        alert(Message);

        //$("*[id]").popover('hide');

        //   $("[id^='id_*']").popover('hide');
        //    $("[id^='id_*']").popover('hide');
        // $("#id*").popover('hide');



        /*  var oArr = {};
       $("*[id]").each(function() {
       var id = $(this).attr('id');
       if (!oArr[id]) oArr[id] = true;
       });
       for (var prop in oArr)
       alert(prop); */



        //  alert(id_wth_hash);

        $(id_wth_hash).popover({title: "<B style='color:red'>Error<\/B>", content: Message, placement: 'left'});
        var popovertemp = $(id_wth_hash).data('popover');
        popovertemp.options.content = Message;
        $(id_wth_hash).popover('show');
        //$("*[id]").not(id_wth_hash).popover('hide');
        // $.not(id_wth_hash).popover('hide');
        $(id_wth_hash).focus();
        //$(id_wth_hash).scrollTop($('a#captchaAnchor').position().top)

        //$('html, body').animate({ scrollTop: $(id_wth_hash).offset().top }, 500);

        $(id_wth_hash).scrollToMe();

        /* $(id_wth_hash).focus(function() {
            $(id_wth_hash).popover('hide');
        });
       */
        $(id_wth_hash).bind("keyup input paste", function()
          {
            //Do Work Here
            $(id_wth_hash).popover('hide');
          }
        );


        $(id_wth_hash).click(function()
          {
            $(id_wth_hash).popover('hide');
          }
        );



        $(id_wth_hash).hover(function()
          {
            $(id_wth_hash).popover('hide');
          }
        );




      }

      $(function()
        {

          //show_error('#id_txt_user','I Have passed the value');


          $("#pwd_login").tooltip({title: 'Min.6 Characters , 1 number ,1 lowercase ,1 UpperCase,  1 Symbol are expected', placement: 'right'});
          $("#user_login").tooltip({title: 'Registered Email', placement: 'right'});






        }
      );



            function submit_login_form()
            {
            var action = "login_submit.php";

                $.ajax(
                  {
                  url: 'login_submit.php',
                  type: 'POST',
                  data: $('#login').serialize(),
                  success: function(data_in) 
                    {
                      alert(data_in);
                      if (data_in !== null && !isEmpty(data_in) && (data_in).indexOf('VALIDATION_ERROR') !== -1)
                      {
                        var value = data_in.substr(data_in.indexOf('VALIDATION_ERROR'), data_in.indexOf('|#END#'));
                        var array_str = value.split('|');
                        var id_val = "#id_" + array_str[1].trim();
                        show_error(id_val, array_str[2]);
                      } else 
                      {
                        window.location.replace('jb_organization_regn_confirm.html');
                      }
                    }
                  }
                );
                return false;
            }
            </script>
            </head>
            <body>
            <form action="login_submit.php" id="login">
            <h1>LOGIN</h1>
            Email<input value="" name="user_email" id="user_login"><br>
            Password<input value="" name="pwd" type="password" id="pwd_login"><br>
            <input type="checkbox" name="remember_me">Stay Signed In<br>
            <input type="submit" value="login" onclick="submit_login_form()">  
            </form>
            </body>
            </html>

这是我的php页面

<?php require 'db.php'; ?>
<?php require 'shopping_user_class.php'; ?>
<?php 
$error_op = " START ";
$obj_shopping_login = new user;
//$obj_shopping_login->shopping_user_name = "";
$obj_shopping_login->shopping_user_pwd = "";
$obj_shopping_login->shopping_user_email = "";
$obj_shopping_login->remember_me = "";
function Collect_all_form_variables() {
    global $obj_shopping_login;
    global $error_op;

    try {

        $obj_shopping_login->shopping_user_email = $_POST["user_email"];
        $obj_shopping_login->shopping_user_pwd = $_POST["pwd"];

        if (isset($_POST['remember_me']) &&
                $_POST['remember_me'] == 'yes') {
            $obj_shopping_login->remember_me = 'yes';
        } else {
            $obj_shopping_login->remember_me = 'no';
        }
    } catch (Exception $e) {
        echo 'Error: ' . $e->getMessage();
        $error_op = 'Collect_all_form_variables' . $error_op . $e->getMessage();
    }

}
function check_useremail_and_password($current_user_email,$current_user_pwd) {
    global $error_op;


    try {
        global $pdo;



        $sth = $pdo->prepare("SELECT * from photostudio.user WHERE  UPPER(email) =  UPPER(:current_user_email) AND pwd=:current_user_pwd");

// Execute the query, replacing the placeholders with their true value
        $sth->execute(array(
            ':current_user_email' => trim($current_user_email),
            ':current_user_pwd'=>current_user_pwd
        ));

        if ($sth->rowCount() > 0) {

            return true;
        }

        return false;
    } catch (PDOException $e) {
        echo 'Error: ' . $e->getMessage();
        $error_op = 'check_useremail_and_password ' . $error_op . $e->getMessage();
    }

    return true;
}
function validate_form_stage1() {

//alert("please");
    $required = array('user_email', 'pwd');

// Loop over field names, make sure each one exists and is not empty
    $error = false;
    foreach ($required as $field) {
        if (empty($_POST[$field])) {
            $error = true;
            break;
        }
    }

    if ($error) {
        return "VALIDATION_ERROR|" . $field . "|Value is Required|#END#";
    } else {
        return "SUCCESS";
    }
} 
function process_request() {


    global $obj_shopping_login;

    global $error_op;

    $all_values_are_present = validate_form_stage1();

    if (substr($all_values_are_present, 0, 16) === "VALIDATION_ERROR") {


        echo $all_values_are_present;
        return false;
    }

    Collect_all_form_variables();
    if (check_useremail_and_password() == true) {

        echo "Success" . $error_op;


    } else {

        echo "Failed" . $error_op;
    }
}
?>

如果我的用户名和密码也不正确,那么它就显示出来了。

2 个答案:

答案 0 :(得分:0)

我认为你不需要isEmpty功能。你已经检查过null了。检查空字符串。

 if (data_in !== null && data_in != '' && (data_in).indexOf('VALIDATION_ERROR') !== -1)

答案 1 :(得分:0)

如图所示,isEmpty()是一个VBA本机函数,而不是JS。 在这里,我们使用它作为替代品:

function isEmpty(strIn)
{
    if (strIn === undefined)
    {
        return true;
    }
    else if(strIn == null)
    {
        return true;
    }
    else if(strIn == "")
    {
        return true;
    }
    else
    {
        return false;
    }
}

它模拟了VBA :: isEmpty()的行为:

isEmpty("") => true
isEmpty(0) => false
isEmpty("0") => false
isEmpty(UndefinedVar) => true

还有更多:

isEmpty(null) => true