这就是我要找的东西。在我的表格中,我有三个字段,都是CharFields。这些是姓名,姓氏和用户名。用户名应设置为Name和Surname的总和,因此对于Name = Joe,Surname = Black,Username = Joe Black。
显示表单时,所有字段都为空。我想在将数据写入Name或Surname时自动填充用户名。这样做的原因是我不必填写用户名字段,但是当我想要时,我可以设置它与Name + Surname不同。
不使用jQuery是否可行?如果是的话,有没有这方面的好教程?
答案 0 :(得分: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()方法时,它会执行以下操作:它会使用它的第一个和最后一个属性并更新用户名值并保存它。