Это, вероятно, будет звучать задом наперед. Мне нужно, чтобы форма отправила возвращаемое значение false, но все еще отправляю форму.
У меня есть форма, перетаскиваемая на страницу через ajax (функция загрузки jquery), и при отправке я бы хотел отображать графику и некоторый текст в одном div, а не перенаправлять страницу.
Это моя кнопка отправки (codeigniter):
<?php $attributes = array('class' => 'button', 'onclick' => 'form_success_client(); return false;', 'name' => 'submit'); echo form_submit( $attributes, 'Save'); ?>
и в html:
<input type="submit" onclick="form_success(); return false;" class="button" value="Save" name="submit">
и функция javascript, которая загружает сообщение об успехе:
function form_success_client() { // form success
$('.contentarea').load("/mm/index.php/site/form_success_client/");
}
Это все работает нормально, но неудивительно, что оно не отправляет форму. Я знаю, что правильный способ сделать это - передать отправку формы в jquery, но я не уверен, как это сделать. Если возможно, можно сделать быстрое исправление (пока у меня не будет времени, чтобы найти лучшее решение), однако все предложения приветствуются.
Спасибо!
ОТВЕТ:
Это то, что сработало для меня, просто небольшая правка ответа Мэгги:
function form_success_client(obj) {
$.ajax({
type: 'POST',
url: $(obj).attr('action'),
data: $(obj).serialize(),
success: function(msg){
$('.contentarea').load("/mm/index.php/site/form_success_client/");
}
});
return false;
}
Обратите внимание, что $ () упаковывает объект для URL и данных.