[英]Submit Return False, But Still Submit Form - PHP, Javascript, AJAX, CodeIgniter
這聽起來可能會倒退。 我需要一個表單來提交return 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,但是我不確定如何執行此操作。 可能的話可以進行快速修復(直到我有時間整理出更好的解決方案),但是所有建議都值得贊賞。
謝謝!
回答:
這就是我的工作,對Maggie的答案進行了少許編輯:
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;
}
注意$()將obj包裝在url和data上。
像這樣'onclick' => 'form_success_client(this); return false;'
將您的JS onclick-event綁定到表單(而不是按鈕'onclick' => 'form_success_client(this); return false;'
'onclick' => 'form_success_client(this); return false;'
並將您的功能更改為
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/");
}
});
}
未經測試
可能的解決方案。 我堅持你的代碼
<input type="submit" onclick="form_success_client(this); return false;" class="button" value="Save" name="submit">
function form_success_client( i ) {
formData = $(i).parents('form').serialize();
$.post( "/mm/index.php/site/form_success_client/", formData, function(loaded) { $('.contentarea').append(loaded) }, 'html' );
}
編輯:是的,正如瑪吉所說,您應該綁定form_success_client(this); return false;
form_success_client(this); return false;
像那樣
<form onsubmit="form_success_client(this); return false;">
不按按鈕
您可以使用jquery .post,.get或.ajax
根據成功或返回的數據,您可以提交表格
http://api.jquery.com/jQuery.get/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.