Bu seçeneği döndürdüğümde kötü bir değer alıyorum. Örneğin, n = "Arnold, Robert | ID: 1" seçeneğini bir seçenek olarak gönderdiğimde, web sayfasında görünür, ancak kullanıcı göndermeyi tıkladığında, yalnızca "Arnold", Flask Sunucum'a gönderilir. Kimlik değerini çıkarmaya çalışıyorum.HTML formu yalnızca seçenek değerinin bir kısmını geri gönderir Flask
Herkes, formdaki tüm seçenek değerini veya dizeyi kimliğin dışına almak için başka bir yolun nasıl alınacağını biliyor mu?
İşte Burada HTML
<h2>Donors</h2>
<form method="POST" action="/display_donor">
<select name="selected_donor">
{% for n in donors %}
<option value={{n}}>{{n}}</option>
{% endfor %}
</select>
<br />
<br><input type="submit" value="View donor"/>
</form>
var
@app.route('/display_donor', methods=['POST'])
def display_donor():
temp_id = request.form['selected_donor']
print "temp_id"
print temp_id
final_id = re.sub('[^0-9]','', temp_id)
print "final_id"
print final_id
display_value = 1
cursor = g.conn.execute("SELECT name,donor_id FROM donors")
donors = []
for result in cursor:
temp_string = result['name'] + " | ID: " +result['donor_id']
donors.append(temp_string)
# can also be accessed using result[0]
cursor.close()
print "this"
print final_id
#Returns a specific instance of transaction as specified by user
cursor = g.conn.execute("SELECT * FROM donors D WHERE D.donor_id='%s'" % final_id)
values = []
for result in cursor:
values.append(result['donor_id'])
values.append(result['name'])
values.append(result['donor_type'])
cursor.close()
#denote attribute names
attribute = []
attribute.append('donor_id')
attribute.append('name')
attribute.append('donor_type')
return render_template("donors.html",attribute=attribute,values=values,donors=donors,display_value=display_value)