Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/266.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
Php 删除赢得';即使';返回false';跑_Php_Jquery_Forms_Submit_Confirm - Fatal编程技术网

Php 删除赢得';即使';返回false';跑

Php 删除赢得';即使';返回false';跑,php,jquery,forms,submit,confirm,Php,Jquery,Forms,Submit,Confirm,我已经在应用程序中实现了从数据库中删除用户的功能。用户选择用户(复选框)并单击提交。此时会显示一个确认框,询问用户是否要删除用户名。一切正常,但如果单击“取消”,用户仍会被删除 这是为什么?我如何防止它(我进行了检查并返回false运行) 来自usercontroller.php: if ($userView->TriedToRemoveUser()) { $userIds = $userView->GetUsersToRemove(); if ($userIds != 0

我已经在应用程序中实现了从数据库中删除用户的功能。用户选择用户(复选框)并单击提交。此时会显示一个确认框,询问用户是否要删除用户名。一切正常,但如果单击“取消”,用户仍会被删除

这是为什么?我如何防止它(我进行了检查并返回false运行)

来自usercontroller.php:

if ($userView->TriedToRemoveUser()) {
  $userIds = $userView->GetUsersToRemove();

  if ($userIds != 0) {
    $removeTry = $userHandler->RemoveUser($userIds);

    if ($removeTry) {
      $xhtml = \View\UserView::USER_REMOVED;
    }
    else {
      $xhtml = \View\UserView::FAILED_TO_REMOVE_USER;
    }
  }
}
public function TriedToRemoveUser() {
  if (isset($_POST[$this->_submitRemove])) {
    return true;        
      }
      else {
        return false;
      }
}
$('#form3').submit(function() {
  $('input[type=checkbox]').each(function () {
    if( this.checked ) {
      var username = $(this).attr('user');

      var confirmBox = confirm('Do you really want to remove the user ' + username + ' ?');

      if (!confirmBox) {
        return false;
      }
      }
  });
});
来自userview.php:

if ($userView->TriedToRemoveUser()) {
  $userIds = $userView->GetUsersToRemove();

  if ($userIds != 0) {
    $removeTry = $userHandler->RemoveUser($userIds);

    if ($removeTry) {
      $xhtml = \View\UserView::USER_REMOVED;
    }
    else {
      $xhtml = \View\UserView::FAILED_TO_REMOVE_USER;
    }
  }
}
public function TriedToRemoveUser() {
  if (isset($_POST[$this->_submitRemove])) {
    return true;        
      }
      else {
        return false;
      }
}
$('#form3').submit(function() {
  $('input[type=checkbox]').each(function () {
    if( this.checked ) {
      var username = $(this).attr('user');

      var confirmBox = confirm('Do you really want to remove the user ' + username + ' ?');

      if (!confirmBox) {
        return false;
      }
      }
  });
});
从js.file:

if ($userView->TriedToRemoveUser()) {
  $userIds = $userView->GetUsersToRemove();

  if ($userIds != 0) {
    $removeTry = $userHandler->RemoveUser($userIds);

    if ($removeTry) {
      $xhtml = \View\UserView::USER_REMOVED;
    }
    else {
      $xhtml = \View\UserView::FAILED_TO_REMOVE_USER;
    }
  }
}
public function TriedToRemoveUser() {
  if (isset($_POST[$this->_submitRemove])) {
    return true;        
      }
      else {
        return false;
      }
}
$('#form3').submit(function() {
  $('input[type=checkbox]').each(function () {
    if( this.checked ) {
      var username = $(this).attr('user');

      var confirmBox = confirm('Do you really want to remove the user ' + username + ' ?');

      if (!confirmBox) {
        return false;
      }
      }
  });
});

返回
false
。each()
不会停止提交,将该值存储在变量中并返回该变量

$('#form3').submit(function() {
    var submit = true;
    $('input[type=checkbox]').each(function () {
        if( this.checked ) {
            var username = $(this).attr('user');

            var confirmBox = confirm('Do you really want to remove the user ' + username + ' ?');

            if (!confirmBox) {
                submit = false;
                return false;
            }
        }
    });
    return submit;
});

返回
false
。each()
不会停止提交,将该值存储在变量中并返回该变量

$('#form3').submit(function() {
    var submit = true;
    $('input[type=checkbox]').each(function () {
        if( this.checked ) {
            var username = $(this).attr('user');

            var confirmBox = confirm('Do you really want to remove the user ' + username + ' ?');

            if (!confirmBox) {
                submit = false;
                return false;
            }
        }
    });
    return submit;
});
(警告:所有代码都不在我的脑海中,没有经过正确测试)

假设您正在谈论
返回false语句:

返回false
不会阻止submit方法,因为它仅与
.each()
方法断开。所有这些都将停止复选框上的迭代

尝试以下方法:

$('#form3').submit(function () {
    var doDelete = true;

    $('input[type=checkbox]').each(function () {
       // ...

       if (!confirmBox) {
           doDelete = false;
           return false; // Deletion has been cancelled so there is no need to continue the iteration
       }
    });

    if (!doDelete) {
        return false;
    }
});
如果用户取消任何选定的用户,这将阻止提交整个表单。如果您打算继续提交任何已确认的用户,您可以尝试以下方法:

$('#form3').submit(function () {
    $('input[type=checkbox]').each(function () {
       // ...

       if (!confirmBox) {
           $(this).attr('checked', false); //Uncheck this box so that it isn't submitted
       }
    });
});
(警告:所有代码都不在我的脑海中,没有经过正确测试)

假设您正在谈论
返回false语句:

返回false
不会阻止submit方法,因为它仅与
.each()
方法断开。所有这些都将停止复选框上的迭代

尝试以下方法:

$('#form3').submit(function () {
    var doDelete = true;

    $('input[type=checkbox]').each(function () {
       // ...

       if (!confirmBox) {
           doDelete = false;
           return false; // Deletion has been cancelled so there is no need to continue the iteration
       }
    });

    if (!doDelete) {
        return false;
    }
});
如果用户取消任何选定的用户,这将阻止提交整个表单。如果您打算继续提交任何已确认的用户,您可以尝试以下方法:

$('#form3').submit(function () {
    $('input[type=checkbox]').each(function () {
       // ...

       if (!confirmBox) {
           $(this).attr('checked', false); //Uncheck this box so that it isn't submitted
       }
    });
});

您的意思是,即使
返回false,仍会发出请求
在javascript中运行,或者PHP代码仍然执行,即使
$userView->TriedToRemoveUser()
返回false?我的意思是,即使返回false,提交请求仍然执行。然而,凯文B下面的答案解决了这个问题!您的意思是,即使
返回false,仍会发出请求
在javascript中运行,或者PHP代码仍然执行,即使
$userView->TriedToRemoveUser()
返回false?我的意思是,即使返回false,提交请求仍然执行。然而,凯文B下面的答案解决了这个问题!另一种方法是使用for或while循环,这将允许您删除附加变量并仅返回false。另一种方法是使用for或while循环,这将允许您删除附加变量并仅返回false。非常感谢。最后一个正是我想要的,它工作得很好。非常感谢。最后一个正是我想要的,它工作得非常好。