JQuery, отправляйте() У меня есть форма со следующей HTML ниже:форма не представляет при выполнении функции
<form id="course_edit_form" name="course_form" action="/courses/save" method="post">
<fieldset>
<div id="side-left">
<!-- Course Name -->
<input type="hidden" id="course_id" name="course_id" value="${c.the_course.id}" />
<div>
<label for="name" id="name_label">Course name<em>*</em></label>
${h.tags.text("name", c.the_course.name, size=40)}
</div>
<!-- Event Type -->
<div>
<label for="type_list" id="class_type_label">Event type</label>
<p>Use Ctrl to do multi-select</p>
<select multiple="multiple" id="type_list" class="type-box required" name="type_list">
% for ty in c.all_types:
% if int(ty.id) in c.typeids:
<option selected="selected" value="${int(ty.id)}">${str(ty.name)}</option>
% else:
<option value="${int(ty.id)}">${str(ty.name)}</option>
% endif
% endfor
<option value="all">All</option>
</select>
</div>
<div>....more input fields here</div>
</div>
<!-- Controls -->
<div class="controls">
<input id="delete" name="delete" type="button" value="Delete" />
<input id="submit" name="submit" type="submit" value="Update" />
</div>
</fieldset>
</form>
Я прикрепил обработчик щелчка на мою кнопку так, чтобы мой Javascript сначала проверить свою форму до представляя фактическую форму. Если во время проверки все будет хорошо, я поставлю флаг «course_form_valid» в true. В последние пару строк моей JavaScript У меня есть:
if (course_form_valid) {
jQuery('#course_edit_form').submit();
}
Однако выше линии никогда не отправляет форму, даже когда course_form_valid верно. Я даже попытался удалить действие и метод атрибуты моей формы и используется ниже Javascript вместо этого, но все же это не будет работать:
if (course_form_valid) {
jQuery('#course_edit_form').submit(function() {
jQuery.ajax({
url: '/courses/save',
type: 'GET',
data: jQuery('#course_edit_form').serialize(),
async: false
});
});
}
Что происходит? Может кто-нибудь, пожалуйста, помогите мне?
-Марк
Не можете добавить пример работы jsbin? www.jsbin.com –
О, простите, я забыл упомянуть, что первая строка моей функции обработчика кликов имеет e.preventDefault(); Это вызывает некоторые икоты? – Mark
Я не могу найти проблему, любые другие js-коды, пожалуйста ... как для 'course_form_valid' установлено значение' true'? вы пробовали 'jQuery ('# course_edit_form'). submit();' без 'if'? – Reigel