我正在尝试创建自己的对话框。我想为此使用jquery。对于我网站上的某些按钮,我需要一个确认对话框(例如"你确定要删除"是/否)。当对话框处于活动状态时,该站点的其余部分不应该是可点击的。
所以,我做了这个:
<div class="overlay" id="overlay" style="display:none;">
<div class="overlaycontent" id="overlaycontent">
<div id="overlaytext" class="overlaytext ">
<span id="overlaymessage" class="mediumtext bold">Deze klant verwijderen?</span>
<br><br>
<button id="nobutton" class="button1 highbutton hand" onclick="confirmno()">Nee</button>
<button id="yesbutton" class="button2 highbutton hand" onclick="confirmyes()">Ja</button>
</div>
</div>
</div>
ID覆盖在整个页面上。 ID overlaycontent会在其顶部创建一个白色框。 ID overlaytext使消息居中 ID overlaymessage包含问题/消息。 ID nobutton是说不的按钮:) ID yesbutton是..猜猜:)
现在,javascript显示一条消息:
function confirm(message,nobutton,yesbutton){
$('#overlaymessage').html(message);
$('#nobutton').html(nobutton);
$('#yesbutton').html(yesbutton);
$('#overlay').show();
}
function confirmno(){
$('#overlay').hide();
}
function confirmyes(){
????
}
到目前为止,它工作正常(当然,除了是按钮,请继续阅读),但是对于下一步我缺乏知识。假设我有一个按钮可以删除我网站上的用户。
<button class="redbutton" onclick="deleteuser(22)">
按钮需要javascript,如:
<script language="javascript">
function deleteuser(userid){
confirm('Delete user?','No','Yes');
??????
}
</script>
现在问号在哪里,我希望函数根据用户点击是或否的事实做某事。怎么抓住这个?我不知道。请帮帮我。我不想使用Jquireui.dialog。
答案 0 :(得分:3)
这里的麻烦是你不能在javascript中暂停执行,所以你需要调整你的确认功能(顺便说一句,你应该重命名,因为JS有一个本机确认功能)。摆脱你的肯定按钮的onclick,并像这样调整你的确认功能:
function confirm(message,nobutton,yesbutton,yesfunction){
$('#overlaymessage').html(message);
$('#nobutton').html(nobutton);
$('#yesbutton').html(yesbutton);
$('#overlay').show();
$('#yesbutton').off("click").click(yesfunction);
}
然后,将一个函数传递给您的确认电话:
function deleteuser(userid){
function deleteConfirmed() {
// delete code here
}
confirm('Delete user?','No','Yes',deleteConfirmed);
}
答案 1 :(得分:2)
您需要从确认对话框中捕获结果,例如
var x = confirm("Are you sure you are ok?");
if (x) {
alert("Good!");
} else {
alert("Too bad");
}
答案 2 :(得分:1)
你可以这样做。
<script language="javascript">
function deleteuser(userid){
if(confirm('Delete user?')) {
//'Ok' is clicked
}
else {
//'Cancel' is clicked
}
}
</script>