基本上我想在他们点击对话框中的按钮时从我的网络应用程序注销用户。尝试搜索并尝试以下代码,但单击按钮时没有任何作用。我使用sweetalert.js来显示对话框,我只是使用以下代码放置一个html按钮
<form action='/logout' method='post' id='logout_form'>
<a onclick='document.getElementById('logout_form').submit();' style='cursor: pointer;'>Log Out</a>
</form>
进入对话框主体,但按钮不起作用,而我在javascript中出现Uncaught SyntaxError: Unexpected token }
错误。以下是我的甜蜜警报代码:
swal({
title: "Logout? Any data you've entered will not be saved.",
text: "<form action='/logout' method='post' id='logout_form'><a onclick='document.getElementById('logout_form').submit();' style='cursor: pointer;'>Log Out</a></form>",
html: true,
type: "warning",
showCancelButton: "No",
confirmButtonColor: "#D9534F",
confirmButtonText: "Yes, cancel it!",
closeOnConfirm: false
});
可能有什么不对?提前谢谢。
答案 0 :(得分:0)
你的引号有问题双引号你的锚定义无效,因为logout_form之前的单引号终止字符串。
虽然用双引号括起来,但这不是问题,因为只有双引号会标记字符串的边界:
{ text: "<form action='/logout' method='post' id='logout_form'><a onclick='document.getElementById('logout_form').submit();' style='cursor: pointer;'>Log Out</a></form>" }
这意味着,您应该转义/屏蔽引号以防止解析器抛出错误并错误地解释以下javascript:
text: "<form action='/logout' method='post' id='logout_form'><a onclick='document.getElementById(\'logout_form\').submit();' style='cursor: pointer;'>Log Out</a></form>",
除非您未发布的代码中存在任何其他语法错误,否则这应该可以解决您的问题。