【问题标题】:How to pre populate a field according to previous values in a form?如何根据表单中的先前值预填充字段?
【发布时间】:2012-09-28 11:35:43
【问题描述】:

(我正在使用 Symfony2)我有一个表格,要求输入姓名和名字以及电子邮件地址。

电子邮件地址始终采用相同的模式:firstname.name@mycompany.com

例如,我希望当用户输入“John”作为名字并输入“Adams”作为姓氏时,电子邮件地址默认设置为:“john.adams@mycompany.com” (但它不应该被禁用,因为它有时会改变一点,如果用户有复杂的名字等......)。

我从来没有做过这样的事情,我被这个问题困住了,尽管它可能很简单,但我无法解决。

任何帮助将不胜感激
非常感谢

【问题讨论】:

    标签: php javascript jquery symfony


    【解决方案1】:

    我认为有很多方法:

    解决方案 1: 在实体中

    public function setEmail($email)
    {
            $email = $this->email.firstName.'.'.$this->lastName.'@domain.com'
            $this->email = $email;
    }
    

    解决方案 2: 在控制器中

    in the createAction and in the updateAction
    
    $email = $entity->getEmail().'.'.$entity->getLastName().'@domain.com';
    $entity->setEmail($email);
    

    解决方案 3: 您可以直接在 javascript 中执行此操作(使用 jquery 很容易) 您将事件放在 Keyup 上以生成电子邮件字段。

    $('#form_firstName').live('keyup',function() {
           var email = $('#form_firstName').val()+'.'+$('#form_lastName').val().'@domain.com';
        $('#form_email').val(email);
    });
    $('#form_lastName').live('keyup',function() {
           var email = $('#form_firstName').val()+'.'+$('#form_lastName').val().'@domain.com';
        $('#form_email').val(email);
    });
    

    【讨论】:

    • 非常感谢,我正在使用第三种解决方案。这很有帮助。
    猜你喜欢
    • 2013-02-10
    • 2021-08-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-22
    • 1970-01-01
    • 2020-03-17
    • 1970-01-01
    相关资源
    最近更新 更多