如何根据表单中的先前值预先填充字段?

时间:2012-09-28 11:35:43

标签: php javascript jquery symfony

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

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

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

我从来没有做过这样的事情而且我遇到了这个我无法解决的问题,尽管它可能很简单。

非常感谢任何帮助 非常感谢

1 个答案:

答案 0 :(得分: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);
});