项目计数返回0,而预期返回1

时间:2015-04-13 17:47:14

标签: php jquery

我总是会被发送到else

我的页面functions.php包含我正在查看函数registerNewAcc()的所有函数:

<?
function registerNewAcc()
{
  return false;
}
?>

然后我得到了页面registerHandler.php,其中我正在检查函数registerNewAcc() == false

<?
if (registerNewAcc() == false)
{
  echo '<div class="invisible"></div>';
  echo 'fout';
}
else
{
  echo 'You are register succesfull!<br>Check your e-mail, we have send you an e-mail with a verification-link in it to verify your account.';
}
?>

在我的form.js文件中,我找到了课程.invisible

<script type="text/javascript">
  var registerStatus = $(data).find(".invisible");
  if (registerStatus.length >= 1) {
    //Kijkt of er regisratie fout is
    $("div.statusBalk").hide().slideDown().css("display", "block").css("background-color", "red").empty().append(data);
    $("span.inputCheck").empty();
    $inputs.prop("disabled", false);
  } else {
    //Kijkt of er regisratie fout is
    $("div.statusBalk").hide().slideDown().css("display", "block").css("background-color", "green").empty().append(data);
    $("span.inputCheck").empty();
    $inputs.prop("disabled", false);
  }
</script>

但它总是转到js脚本的else。 他总是显示0个元素。

我提醒它并显示0

[ADDED]

<script type="text/javascript">
  $( "form#registerForm" ).submit(function( event ) {
    // Stop form from submitting normally
    event.preventDefault();
    var $form = $(this);
    var $url = "registerHandler.php?action=registerCheck";
    var $inputs = $form.find("input");
    var posting = $.post($url, $form.serialize());
    $inputs.prop("disabled", true);
    posting.done(function (data) {
      var formStatus = $(data).find(".inputCheckCross");
      if (formStatus.length >= 1) {
        //Wanneer het formulier fout is
        $("div.registerError").hide().fadeIn().css("display", "block").empty().append(data);
        $("div.statusBalk").css("display", "none");
        $("span.inputCheck").empty();
        $inputs.prop("disabled", false);
      } else {
        var registerStatus = data.find(".invisible");
        if (registerStatus.length >= 1) {
          //Kijkt of er regisratie fout is
          $("div.statusBalk").hide().slideDown().css("display", "block").css("background-color", "red").empty().append(data);
          $("span.inputCheck").empty();
          $inputs.prop("disabled", false);
        } else {
          //Kijkt of er regisratie fout is
          $("div.statusBalk").hide().slideDown().css("display", "block").css("background-color", "green").empty().append(data);
          $("span.inputCheck").empty();
          $inputs.prop("disabled", false);
        }
      }
    });
  });
</script>

这是我检查的全部内容。

4 个答案:

答案 0 :(得分:1)

我找到了一些东西,
当我第一次点击提交按钮时,它会显示绿色条 当我第二次点击提交按钮时,它会显示红色条。

仍然不知道问题是什么:s

希望这可以提供帮助。

答案 1 :(得分:1)

找到了这个东西,它很干,但它现在有效。

我不得不换行:

//From
if (registerStatus.length >= 1) {
//To
if (registerStatus) {

我认为它已经变弱了,因为我也在早期以相同的方式对数据做了这样的事情:

$(formStatus.length >= 1) {

它正在发挥作用。

我想我知道它为什么不起作用但我不确定 .invisible的count元素是1,它总是1,它的数量不多。 也许这就是事情?

希望你们有这个建议,请留在评论中。

答案 2 :(得分:0)

我不确定您使用$(data).find(".invisable")尝试完成的任务。对我来说似乎是一个不正确的选择器。请尝试使用$(".invisable").length

答案 3 :(得分:0)

似乎拼错了&#34;隐形&#34;在代码中的某些地方可能是你的问题。

正确:隐形

不正确:隐身