提问人:John 提问时间:8/23/2017 最后编辑:IvanJohn 更新时间:11/17/2023 访问量:9976
单击按钮时如何显示对话框
How to display a dialog box when you click a button
问:
我想在单击“前进”按钮时显示一个对话框。此对话框必须使我能够继续或保持在同一页面上。你是怎么做到的?
以下是我的源代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.12/themes/base/jquery-ui.css">
<script src="http://code.jquery.com/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<title>Test</title>
<script>
$(document).ready(function() {
$( "#dialog" ).dialog({
modal: true,
buttons: {
"Yes": function() {
$('#valid');
//$( this ).dialog( "close" );
},
"No": function() {
$( this ).dialog( "close" );
}
}
});
});
</script>
</head>
<body>
<div id="dialog" title="Box">
</div>
<p>Welcome...!</p>
<input type="file"/>
<input type="submit" id="valider" name="valid" value="Forward"/>
</body>
</html>
答:
0赞
WithoutHope
8/23/2017
#1
这应该对你有用..
if (confirm("your message")) {
// your code
}
0赞
Ivan
8/23/2017
#2
首先,您需要添加一个元素。然后添加 assign 一个 id、一个目标文件和一个 onsubmit
函数。我们会写.<form>
return firstModal()
让我们创建:使用jQuery UI中的.dialog
,我们创建一个带有两个选项的模式:一个和另一个。然后,我们将第一个链接到关闭对话框,另一个链接到允许将 HTML 表单提交到 中设置的目标文件。firstModal()
CloseSend$(this).dialog("close")
document.getElementById("myForm").submit()
action
以下是完整的工作代码:
您可以创建两个模式框:一个用于初始输入,另一个用于确认:
let confirmFormDialog = function(form) {
$("#dialog").dialog({
modal: true,
buttons: {
Send: function() {
document.getElementById("myForm").submit();
},
Close: function() {
$(this).dialog("close");
}
}
});
return false;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<div id="dialog" title="Box"></div>
<p>Welcome...!</p>
<form id="myForm" onsubmit="return confirmFormDialog()" action="targetFile.php">
<input type="file" />
<input type="submit" id="valider" name="valid" value="Forward" />
</form>
使用这种技术,我们需要确保 confirmFormDialog()
返回 。这样,当单击输入按钮时,HTML 表单不会提交。通过删除此默认行为,我们决定何时使用 .false
.submit()
0赞
ajit-jain
8/23/2017
#3
您需要添加单击事件侦听器以在单击按钮时显示对话框Forward
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css">
<div id="dialog" title="Box"></div>
<p>Welcome...!</p>
<input type="file" />
<input type="submit" id="valider" name="valid" value="Forward" />
<script type="text/javascript">
$(document).ready(function() {
document.getElementById("valider").addEventListener("click",function(){
$("#dialog").dialog({
modal: true,
buttons: {
Yes: function() {
$( this ).dialog( "close" );
},
No: function() {
console.log('clicked no');
}
}
});
});
});
</script>
评论
0赞
John
8/23/2017
是否可以更改对话框的背景颜色,因为默认颜色显示不佳并且我们看不到对话框
0赞
ajit-jain
8/23/2017
添加 <style> .ui-dialog,.ui-widget, .ui-widget-content, .ui-corner-all, .foo, .ui-draggable, .ui-resizable {background:yellow !important} </style> 它会将对话框颜色变为黄色。head
下一个:单击按钮时如何显示对话框
评论
<input type="submit" id="valider" name="valid" value="Forward" />
如果要提交标记,则应位于标记内<form>