到目前为止,我有这个函数在按下enter时调用我的搜索:
$("#query").keypress(function(e) {
if(e.which == 13) {
alert('You pressed enter!');
redditsearch();
}
});
我收到警报,但它给了我一个错误:
{"error": "Shell form does not validate{'html_initial_name':
u'initial-js_lib', 'form': <mooshell.forms.ShellForm object at
0x3787b50>, 'html_name': 'js_lib', 'html_initial_id': u'initial-id_js_lib',
'label': u'Js lib', 'field': <django.forms.models.ModelChoiceField object at 0x318ab50>,
'help_text': '', 'name': 'js_lib'}{'html_initial_name': u'initial-js_wrap',
'form': <mooshell.forms.ShellForm object at 0x3787b50>,
'html_name': 'js_wrap', 'html_initial_id': u'initial-id_js_wrap', 'label': u'Js wrap',
'field': <django.forms.fields.TypedChoiceField object at 0x270b510>, 'help_text': '',
'name': 'js_wrap'}"}
答案 0 :(得分:1)
尝试阻止enter keypress的默认行为:
$("#query").keypress(function(e) {
if(e.which == 13) {
e.preventDefault();
alert('You pressed enter!');
redditsearch();
}
});
如果没有这个,如果您的输入在表单中,表单将与您的搜索函数一起提交。 preventDefault会停止默认表单提交行为。