我可以/如何将OnClick与中的if语句一起使用
Can I/how do I use an OnClick with an if statement in?
我正试图创建一个按钮,当按下该按钮时,删除数据库条目,当我单击它时,我想要一条消息说"你确定要删除这个吗",然后如果我单击取消,消息就会消失,什么也没发生,如果我单击确定,删除会运行--,但也会重新加载页面,我认为这将需要一个jquery(这就是我希望它在其中的位置)if语句,它基本上说如果单击了ok,那么运行默认值,并在代码运行后刷新页面。
到目前为止,我有
<button name="del" type="submit" value="1" onclick="return confirm('Are you sure you want to delete this?') "> delete</button>
请告诉我,如果我在这方面走错了路,如果我没有,请帮助我如何写if,(我实际上已经搜索过了,信息不够完整,我无法理解,我是一名PHP开发人员,以前从未使用过任何Javascript,但我想启动)
编辑:如果这是一个缓存问题,我该如何解决?
您的确认很好。然而,当您按下"Ok"时,您基本上执行了两个请求。
我会用两种方法之一:
1。返回到同一页面,并在生成页面数据之前使用PHP处理$_POST数据。伪代码:
if($_POST['userid']!= null)
deleteUser($_POST['userid']);
getUsers();
2。使用Javascript向另一个执行用户删除操作的页面发出Ajax请求。然后在"完成"事件中,让JS重新加载您当前所在的页面。
我认为第二种选择是最好的。它也会让你更多地接触JavaScript。
$.ajax({
url: "deleteuser.php?userid=1",
}).done(function() {
location.reload();
});
或者对$.post的模棱两可您甚至不需要重新加载页面。您可以使用Javascript删除包含刚刚删除的用户的行。这当然使用jQuery,但jQuery只是Javascript 的包装器
我认为您的问题更多的是缓存问题,并且在表单提交后重新加载页面效率很低,因为您正在执行不必要的往返服务器,但是如果这是您想要的,这里有一种方法:
PS:删除提交按钮上的onclick
属性。
document.addEventListener('DOMContentLoaded', function () {
initDeletionPage(document.getElementById('the-id-of-the-form-to-target'));
});
function initDeletionPage(deletionForm) {
refreshPageIfNeeded();
deletionForm.addEventListener('submit', onSubmit);
function refreshPageIfNeeded() {
if (sessionStorage.getItem('pageRefreshNeeded')) {
sessionStorage.removeItem('pageRefreshNeeded');
location.reload();
}
}
function onSubmit(e) {
if (!confirmDeletion()) e.preventDefault();
else indicatePageRefreshNeededAfterSubmission();
}
function confirmDeletion() {
return confirm('Are you sure you want to delete this?');
}
function indicatePageRefreshNeededAfterSubmission() {
sessionStorage.setItem('pageRefreshNeeded', true);
}
}
对不起,我要求更多Jquery方式
好的。。。
$(function () {
initDeletionPage('#the-id-of-the-form-to-target');
});
function initDeletionPage(deletionForm) {
refreshPageIfNeeded();
$(deletionForm).submit(onSubmit);
function refreshPageIfNeeded() {
if (sessionStorage.getItem('pageRefreshNeeded')) {
sessionStorage.removeItem('pageRefreshNeeded');
location.reload();
}
}
function onSubmit(e) {
if (!confirmDeletion()) e.preventDefault();
else indicatePageRefreshNeededAfterSubmission();
}
function confirmDeletion() {
return confirm('Are you sure you want to delete this?');
}
function indicatePageRefreshNeededAfterSubmission() {
sessionStorage.setItem('pageRefreshNeeded', true);
}
}
- 可以't让我的if语句处理js中的html表单输入
- 如何在 API 调用后和 if 语句中启用提交按钮
- 带有多个elseif的Javascript if语句
- Sharepoint JScript if语句未执行
- for循环中的javascript if语句找不到==
- jquery if语句返回return wong语句
- 在if语句下的html中使用javascript变量
- 将错误与if语句混淆
- 循环通过数组的If语句不起作用
- jQuery模板中的If语句
- 如何从数据库中回显If语句
- 如何减少if语句的数量
- 在Javascript中将一个值和字符串数组转换为if语句
- Dropbox oauth认证的IF语句的第二部分是't已触发
- MVC Jquery-按钮点击-获取if语句错误
- 如何重写Javascript If语句以选择Classes而不是ID's的HTML格式
- KnockoutJS:为虚拟元素使用嵌套的条件if语句
- If语句发布或操作员发布
- 清除函数中if语句内部不起作用的间隔
- 使用if语句重新循环