2016-06-23 24 views
4

Der folgende Kolben Code erstellt ein wählen .. Option im Dropdown-Menü:Wie Parameter auf onChange von html passieren

Modell:

class SelectForm(Form): 
    country = SelectField('Country', choices=[ 
     ('us','USA'),('gb','Great Britain'),('ru','Russia')]) 

Kolben App:

@app.route('/new') 
def new(): 
    form = SelectForm() 
    return render_template('new.html', form = form) 

html-Datei:

<form method=post action="/register"> 
    {{ render_field(form.country) }} 
    <p><input type=submit value=Register> 
</form> 

Makrodatei die definiert render_field:

{% macro render_field(field) %} 
    <dt>{{ field.label }} 
    <dd>{{ field(**kwargs)|safe }} 
    {% if field.errors %} 
    <ul class=errors> 
    {% for error in field.errors %} 
     <li>{{ error }}</li> 
    {% endfor %} 
    </ul> 
    {% endif %} 
    </dd> 
{% endmacro %} 

Was ist der beste Weg, um die Ergebnisse automatisch ohne dass der Benutzer den Submit-Button drücken zu müssen haben Onchange einreichen? Gibt es eine Möglichkeit, das Makro zu ändern oder was ist der eleganteste Weg?

dank

Antwort

3

Es wird von Add getan werden kann Javascript onchange Funktion als Attribut dieses

<form method=post action="/register"> 
    {{ render_field(form.country(**{"onchange":"this.form.submit()"}) }} 
    <input type=submit value=Register> 
</form> 
Versuchen