【发布时间】:2012-09-30 03:00:29
【问题描述】:
我已经在我的应用程序中实现了从数据库中删除用户的功能。用户选择用户(复选框)并单击提交。将显示一个确认框,询问用户是否要删除 用户名。一切正常,但如果单击取消,用户仍会被删除。
为什么会这样以及如何防止它(我已经检查并 return 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;
}
}
}
来自 userview.php:
public function TriedToRemoveUser() {
if (isset($_POST[$this->_submitRemove])) {
return true;
}
else {
return false;
}
}
来自 js.file:
$('#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;
}
}
});
});
【问题讨论】:
-
您的意思是即使
return false;在javascript 中运行仍然发出请求,还是即使$userView->TriedToRemoveUser()返回false,PHP 代码仍然执行? -
我的意思是即使返回false,仍然会发出提交请求。但是,Kevin B 下面的回答解决了这个问题!
标签: php jquery forms submit confirm