3

我在一个使用 Expression Engine 的网站上做了一些工作。为了为用户生成登录信息,该站点使用 freemember 插件。

这会产生一个弹出登录表单,我坚持的是:

用户点击登录 表单弹出 p 用户点击忘记密码 用户输入他们的电子邮件地址并点击提交 弹出窗口消失,页面显示在后面。

这是我试图根据客户的意愿改变的最后一点:

他们希望我可以让弹出窗口: 1. 留在屏幕上 2. 在提交时显示“密码已发送到电子邮件地址”消息 3. 等待 5 秒并刷新弹出窗口,以便显示登录页面

页面上使用的当前代码是

<div class="signuppopup popupsgroup" style="display:none">
<div class="signuppopup-close"><img onclick="$('.popupsgroup').hide();" src="{site_url}themes/site_themes/agile_records/images/close_button.png" alt="X" /></div>
<div id="signin_navigation">
<ul>
<li><a href="#" onclick="$('.signuppopup').hide(); $('.registerpopup').show(); return false;">Create Account</a></li>
<li style="margin-left:20px;"><a href="#" onclick="$('.registerpopup').hide(); $('.signuppopup').show(); return false;" class="active">Sign In</a></li>
</ul>
</div>

{exp:freemember:login return="{segment_1}/{segment_2}" error_handling="inline" error_delimiters='<span class="error">|</span>' form_id="sign_in_form" form_class="formholder"}
<div class="form-tab">
    <div class="tab">
        <label for="email">Email Address</label>{field:email}<br />
        {error:email}
    </div>
    <div class="tab">
        <label for="password">Password</label>{field:password}<br />
        {error:password}
    </div>
    <div class="tab">
        <input type="submit" class="sendbtn" value="Sign In" />
    </div>
    <div class="tab">
    <a class="orange" onclick="forgot_password();" href="#">Forgot your password?</a>
    </div>
</div>
{/exp:freemember:login}

{exp:freemember:forgot_password form_id="reset_password_form" form_class="formholder"}
<div class="form-tab">
<div class="tab">
        <label for="email">Email address</label>{field:email}<br />
        {error:email}
</div>
<p id="password_message">Please enter your email address and <input type="submit" value="click here" class="orange"> to receive an email with your new password.</p>
</div>
{/exp:freemember:forgot_password}




<div id="password_confirmation" style="display:none;">A new password has been sent to you</div>

</div> <!-- End signuppopup -->
4

1 回答 1

1

您正在寻找一种让浏览器和服务器以异步方式相互通信的方法。由于我不记得 Freemember 支持 Ajax,你可以做两件事:

我会建议第一个,因为当有人输入无效的电子邮件地址时,您可能还会在弹出“留在屏幕上”的问题...

于 2012-09-12T19:51:39.033 回答