2

这就是我要找的东西。在我的表单中,我有三个字段,都是 CharFields。这些是姓名,姓氏和用户名。用户名应设置为姓名和姓氏的总和,因此对于姓名 = Joe、姓氏 = Black、用户名 = Joe Black。

显示表单时,所有字段都为空。我希望它在我将数据写入姓名或姓氏时自动填充用户名。这样做的原因是我不必填写用户名字段,但是当我愿意时,我可以将其设置为不同于姓名+姓氏。

不使用jQuery可以吗?如果是这样,有什么好的教程吗?

4

1 回答 1

6

javascript

<script type="text/javascript" charset="utf-8">

    function updateUsername(){
        first = document.getElementById("first").value;
        last = document.getElementById("last").value;
        document.getElementById("username").value = first+" "+last;
    }

</script>

那么您需要提供 3 个输入字段 ID。

这是一个例子

<input type="text" name="some_name" value="" id="first" onkeyup="updateUsername();">
<input type="text" name="some_name" value="" id="last" onkeyup="updateUsername();">
<input type="text" name="some_name" value="" id="username">

基本上,当 #first 和 #last 字段被输入时,它运行 updateUsername() 函数,该函数获取它们的值并将 #username 的值更改为它们。

编辑

如果您想使用 django 执行此操作,请编辑您的模型并覆盖保存方法。

def save(self):
    if not self.id:
        self.username = self.first + self.last
    super(MODLE_NAME, self).save()

这将做的是当您使用 save() 方法时,它将获取它的第一个和最后一个属性并更新用户名值并保存它。

于 2011-06-10T10:36:21.810 回答