页面加载时不需要的空模态
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了页面加载时不需要的空模态相关的知识,希望对你有一定的参考价值。
我使用jquery对话作为模式来使用php来显示我的表单错误。一切正常,除了页面加载外,显示正确...显示空模式。如果你关闭它然后继续填写模态按预期工作的形式,在它单击的提交按钮时显示错误(如果有的话)。为简洁起见,我只包含了相关代码。
我正在寻求有关如何防止空模式在页面加载时显示的帮助。我已经回顾了几十个相关的提交内容,并试图尝试实施它们,结果令人沮丧。在大多数情况下,它们要么没有效果,要么最终禁用模态。
在此先感谢您的任何建议。
<?php
/// php error checking and form processing here ///
?>
<!DOCTYPE html>
<html>
<head>
<title>Page Title</title>
<link rel="stylesheet" href="//code.jquery.com/ui/1.12.1/themes/base/jquery-ui.css" media="screen" />
</head>
<body>
<form action="<?=$_SERVER['PHP_SELF']?>" name="inquiry" method="post">
/// form fields here ///
<ul class="actions">
<li><input type="submit" class="button small" name="submit" id="submit" value="Send Inquiry" /></li>
</ul>
</form>
<div id="error" title="Form Errors:">
<?php
if (!empty($errors))
{
echo "<div style="padding:15px 15px 0 15px">";
echo "<ul style="margin-bottom:20px">";
foreach ($errors as $error)
echo "<li style="font-size:15px; padding:5px">$error</li>";
echo "</ul></div>";
}
?>
</div>
<!-- JS at the end -->
<script src="/assets/js/jquery.min.js"></script><!-- ver: 1.11.3 -->
<script src="https://code.jquery.com/ui/1.12.1/jquery-ui.js"></script>
<script>
$('#error').dialog({
height: 380,
width: 260,
modal: true,
resizable: false,
dialogClass: 'no-close error-dialog'
});
</script>
</body>
</html>
答案
你可以通过在使用dialog
提交表单时调用$_POST["submit"]
init来阻止这种情况:
<script>
<?php if( isset( $_POST["submit"] ) ){ ?>
$('#error').dialog({
height: 380,
width: 260,
modal: true,
resizable: false,
dialogClass: 'no-close error-dialog'
});
<?php } ?>
</script>
以上是关于页面加载时不需要的空模态的主要内容,如果未能解决你的问题,请参考以下文章
将外部 HTML 加载到页面中,包括 Javascript 并在加载时启动 JS
YDN-DB - 删除数据库,然后在页面加载/重新加载时重新创建和加载,但在刷新时不加载
iOS Safari/Chrome - 在模式内聚焦输入时不需要的滚动