1

以下の「position_type」選択ウィジェットでonchange属性を適切に機能させる方法がわかりません。フィールドの選択が変更されたときにフォームを「投稿」したい。現在、このコードでは、ブラウザは、「onchange」が発生したときに「ページ上のエラー」があることを示しています。これは、結果の「this.form.submit();」を認識しないことを意味すると思います。指図。(私は、'this.form.submit();'をそのまま使用して、文字通りに見つけた他の例を取り上げていますか、それともフォーム名を何らかの方法で置き換える必要がありますか?)

class tranny_form(forms.Form):

   def __init__(self, *args, **kwargs):
           super(tranny_form, self).__init__(*args, **kwargs)
           dict=args[0]  #this extracts the settings passed to 'tranny_form' as a dict

           position_list = [('GGA','GGA'),('DD','DD'),('UTM','UTM'),]
           self.fields['position_type'] = forms.CharField(widget=forms.Select(choices=position_list, attrs={'onchange':'this.form.submit();'}))

           if dict.get('position_type') in ['DD','UTM',]: 
               self.fields['easting_longitude_column'] = forms.IntegerField(max_value=100, min_value=1)
               self.fields['northing_latitude_column'] = forms.IntegerField(max_value=100, min_value=1)

私のテンプレートコード...

<form action="" enctype="multipart/form-data" method="post"> {% csrf_token %}
    <table>
        {{ form.as_table }}
    </table> </br>
    <input type="submit" value="Submit"></br>
</form>
4

1 に答える 1

1

OK、コードの唯一の問題は、私がコピーしていたWeb上の例でthis.form.submit();、正しいコマンドがであるときにコマンドを使用したことですthis.form.submit()。これが他の人を救うことを願っています。私のダイナミックフィールドは今では完璧に機能し、選択に応じて行き来します。

于 2012-07-22T04:59:04.793 に答える