這是我正在尋找的。在我的表單中,我有三個字段,都是CharFields。這些是名字,姓氏和用戶名。用戶名應該設置爲名稱和姓氏的總和,因此對於名稱=喬,姓=黑色,用戶名=喬布萊克。Django - 如何自動從兩個其他字段填充表單域
當窗體顯示時,所有字段全部爲空。當我將數據寫入姓名或姓氏時,我希望它自動填充用戶名。原因是我不必填寫用戶名字段,但是當我想要時,我可以將其設置爲與姓名+姓氏不同。
是否有可能不使用jQuery?如果是這樣,有沒有什麼好的教程呢?
這是我正在尋找的。在我的表單中,我有三個字段,都是CharFields。這些是名字,姓氏和用戶名。用戶名應該設置爲名稱和姓氏的總和,因此對於名稱=喬,姓=黑色,用戶名=喬布萊克。Django - 如何自動從兩個其他字段填充表單域
當窗體顯示時,所有字段全部爲空。當我將數據寫入姓名或姓氏時,我希望它自動填充用戶名。原因是我不必填寫用戶名字段,但是當我想要時,我可以將其設置爲與姓名+姓氏不同。
是否有可能不使用jQuery?如果是這樣,有沒有什麼好的教程呢?
的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輸入字段標識。
這裏的一個例子
<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">
基本上當進入它運行updateUsername()函數它得到它們的值和#username的值改變它們的#first和#last字段被鍵入。
編輯
如果你想使用Django要做到這一點,編輯您的模型,並覆蓋保存方法。
def save(self):
if not self.id:
self.username = self.first + self.last
super(MODLE_NAME, self).save()
那是什麼要做的就是當你使用save()方法,它會把它的第一個和最後一個特性和更新用戶名值並保存它。
如果你想在客戶端做,你應該使用JavaScript,帶或不帶jQuery。 – DrTyrsa 2011-06-10 09:18:36
這就是我正在試圖省略的。我記得在一些教程中,大約一年前我看到,有一種方法可以自動填充SlugField,但我現在無法找到它。 – Gandi 2011-06-10 09:27:07