I want to have a little feedback form in one of my views but I can't
get it to work. I put a pdb.set_trace() to debug the views but when I
click submit the view reloads and never gets into the if
request.method == 'POST' and... code section. I'm very confused about
how to approach ajax forms submission with django. When I want to make
somthing like update a db value clicking in a button(i.e: votes) I can
create another view for handling the ajax call, but in this case I've
to generate the empty form in the original view, so I guess I can't
create another one to handle the ajax call.
views.py:
def results(request, query):
# View code outside the form
ipcs_selected = request.session['ipcs_requested']
query2 = ' | '.join(query.split())
base_query = '@title (%s)' % (query2)
# code that I want to run when the user submit's the form
results = {'success': False }
if request.method == u'POST' and request.is_ajax():
form = FeedBackForm(request.POST)
POST = request.POST
# work with the form
if form.is_valid():
results = {'success':True}
json = simplejson.dumps(results)
return HttpResponse(json, mimetype='application/json')
else:
form = FeedBackForm()
return render_to_response('results.html',
{'patents': patents, 'query': query, 'bq': base_query,
'form':
form},
context_instance=RequestContext(request))
results.html:
<script>
function submit_form() {
$.post("/results/{{query}}/", { query:{{ query }}, full:
{{full_query }} }, function(json){
alert("Success?: " + json['success']);
});
}
function addClickHandlers() {
$("#submit").click( function() { submit_form() });
}
$(document).ready(addClickHandlers);
</script>
<form action="" method="post" id="form">
<p>Relevant results?</p>
{{ form.relevance }}
<p>Up to which page?</p>
{{ form.rel_pages }}
<input type="submit" name="submit" value="SUBMIT" id="submit" />
</form>
--
You received this message because you are subscribed to the Google Groups
"Django users" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/django-users?hl=en.