javascript - 单击带有 getElementById 的表单提交后显示弹出窗口

标签 javascript php jquery html css

我已经成功地创建了一个在点击链接后显示的弹出窗口,方法是使用像这样的 JavaScript onclick 事件:

<a href = "javascript:void(0)" onclick = "document.getElementById('light').style.display='block';document.getElementById('fade').style.display='block'">Sign In</a>

但是,我现在正试图弄清楚如何在不需要存在链接的情况下让它工作。我希望它在提交 php 表单时工作。所以基本上当有人注册时,我希望在帐户成功注册后出现一个弹出窗口。

我想在提交表单时获取元素“light”。我怎么能这样做?

编辑:

我现在是如何尝试这样做的..

<form action="" method="POST">
                        <div class="field">
                            <label for="fullname">Full Name</label>
                            <input type="text"  class="inputbar" name="fullname" value="<?php echo escape(Input::get('fullname')); ?>" required>
                        </div>
                        <div class="field">
                            <label for="email">Email</label>
                            <input type="email" class="inputbaremail" name="email" value="<?php echo escape(Input::get('email')); ?>" required>
                        </div>
                        <div class="field">
                            <label for="username">Username</label>
                            <input type="text" class="inputbar" name="username" value="<?php echo escape(Input::get('username')); ?>" autocomplete="off" required>
                        </div>
                        <div class="field">
                            <label for="password">Choose a password</label>
                            <input type="password" name="password" class="inputbarp" required>
                        </div>
                        <div class="field">
                            <label for="password_again">Confirm password</label>
                            <input type="password" name="password_again" class="inputbarp" required>
                        </div>


                        <input type="hidden" name="token" value="<?php echo Token::generate(); ?>">
                        <label for="signinButton">
                        <input id="signinButton" type="submit" value="Register">
                        </label><br>
                    <onsubmit = "document.getElementById('light').style.display='block';document.getElementById('fade').style.display='block'">

                    <div id="light" class="signInpopup"><a class="close" href = "javascript:void(0)" onclick = "document.getElementById('light').style.display='none';document.getElementById('fade').style.display='none'">Close</a>
                        <?php $success;?>
                    </div>  

最佳答案

正如我在评论中所写,将表单发送到带有哈希的 URL,例如 #sent。如果哈希存在,则显示 #light#fade

<style>
    div {display: none}
</style>

<form action="#sent" method=post>
    ...
    <input type=submit>
</form>

<div id="light">light</div>
<div id="fade">fade</div>

<script>
    if (location.hash && location.hash == '#sent') {
        document.getElementById('light').style.display = 'block';
        document.getElementById('fade').style.display = 'block'
    }
</script>

http://jsfiddle.net/2ewsausg/

关于javascript - 单击带有 getElementById 的表单提交后显示弹出窗口,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30858869/

相关文章:

php - 寻找 CSS 优化器(php 脚本或在线服务)

php - 多作者 Google Analytics(将 PHP 变量从 DB 组合到 JS)

javascript - float 关闭按钮

javascript - jquery通过ajax和animate加载内容

javascript - 为什么变量初始化和为现有变量赋值在 Javascript 控制台中会产生不同的结果?

Php - Azure 500 - 请求超时

javascript - 在 Node.js 中包含来自另一个文件的 JavaScript 类定义

jquery - 动态重新定位 div

javascript - 电报信使彩色框,填充联系人姓名首字母

javascript - $ ('selector' ) 和 $ ('selector' )[0] 在 jquery 中的区别