我正在制作一个添加食谱的页面。提交食谱时,用户必须填写含有成分的无序列表。
HTML部分看起来像这样
<head>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<script type=text/javascript>
$(function() {
$('a#ingredient_input').bind('click', function() {
$.getJSON('/_background', {
ingredients: $('input[name="ingredients"]').val(),
}, function(data) {
console.log(data);
var node = document.createElement('li');
var textnode = document.createTextNode(data.ingredients);
node.appendChild(textnode);
document.getElementById("ingr").appendChild(node);
});
return false;
});
});
</script>
</head>
<form action="/addrecipe/" method="POST">
<h3>Ingredients</h3>
<input type="text" name="ingredients">
<a href="#" id=ingredient_input><button type="button">Add ingredient</button></a>
<ul id="ingr" name="ingredients" value="{{request.form.ingredients}}"></ul>
<input type="submit" Value="Submit new recipe">
</form>
在我的__init__.py
文件中,我有一个函数_background
,用于处理添加到ul
和addrecipe
的成分,并读取请求表单。这看起来如下:
@app.route('/addrecipe/', methods=['POST', 'GET'])
def addrecipe():
if request.method == 'POST':
print request.form
result = request.form
flash("Thanks for your recipe :)")
flash(str(result))
return redirect(url_for('newrecipe'))
@app.route('/_background/')
def background():
try:
i = request.args.get('ingredients', 0, type=str)
return jsonify(ingredients=i)
except Error:
return str(e)
我想知道,让我们说出用户输入的五种成分。显然,这个数字是可变的。我怎样才能做到这一点?就像现在一样,我只得到ul
...