2

これが私が探しているものです。私のフォームには 3 つのフィールドがあり、すべて CharFields です。それらは、名前、姓、およびユーザー名です。ユーザー名は Name と Surname の合計として設定する必要があるため、Name = Joe、Surname = Black、Username = 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 フィールドが入力されると、値を取得して #username の値を変更する updateUsername() 関数が実行されます。

編集

これを django で行う場合は、モデルを編集して save メソッドを上書きします。

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 に答える