gpt4 book ai didi

php - 提交返回 False,但仍然提交表单 - PHP、Javascript、AJAX、CodeIgniter

转载 作者:行者123 更新时间:2023-11-30 13:37:25 24 4
gpt4 key购买 nike

这听起来可能是倒退的。我需要一个表单来提交 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;
}

注意 url 和数据上的 $() 包装 obj。

最佳答案

像这样将您的 JS onclick-event 绑定(bind)到表单(而不是按钮)'onclick' => 'form_success_client(this);返回错误;'

并将您的功能更改为

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/");
}
});
}

未经测试

关于php - 提交返回 False,但仍然提交表单 - PHP、Javascript、AJAX、CodeIgniter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4226963/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com