【问题标题】:What is the external URL for this <a> tag这个 <a> 标签的外部 URL 是什么
【发布时间】:2015-02-07 05:39:42
【问题描述】:

我正在使用一个包含 3 个部分的表单,登录、忘记密码和注册。初始视图是登录表单,但可以更改为忘记密码或注册表单,使用JS代替初始视图。

如果未通过验证,我希望将其发回页面。这似乎工作正常,并且该字段重新填充自身。但是,回发时我无法加载正确的表单。

例如,如果用户正在填写忘记密码表单,并填写了无效的电子邮件地址,则表单顶部的消息将是正确的,但出现的表单是默认登录表单。一旦用户单击忘记密码按钮,JS 就会将其踢到忘记密码表单,并重新填充用户无效的电子邮件地址。每个表单都有一个唯一的“form_type”隐藏变量来区分这三个,所以我可以使用它来检查然后加载正确的。理想情况下,我希望将其保留为 1 页,并尽可能使用 JS 在三者之间进行交换。

一旦发回,我不知道如何让它加载正确的表单。它使用下面的代码在表单之间进行更改。发回时如何链接到正确的表单。

<a href="javascript:;" id="forget-password">
<a href="javascript:;" id="register-btn">

我根本不擅长 JS,我认为这就是问题所在。前端和JS都是由第三方创建的,是“Metronic”主题。让我知道是否需要包含任何 JS。如果有区别,虽然逻辑应该是一样的,但我也在用codeigniter。

EDIT 在表单之间进行交换的所有功能都在那里,我只需要它来 POST 回正确的表单。这就是我目前所拥有的,如果你点击忘记密码并输入一个超过 5 个字符的电子邮件地址,你就会明白我的意思了。我显然没有问得很好......

一旦用户提交,并且表单被错误地回发,我需要正确的表单来弹出,而不是页面的默认值。上面的标签是用于在不同形式之间交换的链接。

【问题讨论】:

    标签: javascript php jquery forms codeigniter


    【解决方案1】:

    也许你可以尝试发回查看也带来一个额外的变量说 'show_form'

    在那个 show_form 中你有表单 id 并基于它做 jquery hide/show 方法

    like $('#' + show_form).show() 和其他 2 隐藏。

    你可以试试这个。

    【讨论】:

    • 谢谢,尽管问题措辞不佳,但最终答案是正确的
    【解决方案2】:

    我不确定我是否完全理解您的要求。 是否需要在同一个页面中拥有 3 个表单并用 JS 在它们之间进行交换?

    如果是这样,请给每个表单一个唯一的 ID,并有 2 个带有 display: none 的表单。那么你所要做的(假设你不想使用 jQuery)就是改变样式。

    HTML:

    <form id="first_form" class="form-visible">
        ...
    </form>
    
    <form id="second_form" class="form-gone">
        ...
    </form>
    
    <form id="third_form" class="form-gone">
        ...
    </form>
    

    CSS:

    .form-visible
    {
        display: inline;
    }
    
    .form-visible
    {
        display: none;
    }
    

    JS:

    function swapForms(id)
    {
        Swap-between-forms        
    }
    

    【讨论】:

      【解决方案3】:

      用一些变量来区分表格。例如,在提交表单后,您可以在变量名称中发回错误,例如如果提交的表单忘记密码意味着定义变量名称是 $forgot 这样的。在视图文件中检查 if(isset($forgot)) 然后将其样式设置为显示块。

      【讨论】:

        猜你喜欢
        • 2021-08-27
        • 2013-08-16
        • 2013-11-19
        • 1970-01-01
        • 2014-06-14
        • 2012-02-13
        • 1970-01-01
        • 1970-01-01
        • 2017-01-18
        相关资源
        最近更新 更多