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