我已经在使用Expression Engine的网站上做了一些工作。要为用户生成登录,该站点使用freemember插件。
这会产生一个弹出式登录表单,我坚持的是:
用户点击登录 表格弹出p 用户点击忘记的密码 用户输入他们的电子邮件地址并单击提交 弹出窗口消失,页面显示在后面。
根据客户的意愿,这是我试图改变的最后一点:
他们希望我可以获得弹出窗口: 留在屏幕上 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 -->
答案 0 :(得分:1)
您正在寻找一种让浏览器和服务器以异步方式相互通信的方法。由于我不记得Freemember支持Ajax,你可以做两件事:
我会建议第一个,因为当有人输入无效的电子邮件地址时,你可能也会遇到弹出“留在屏幕上”的麻烦......