【发布时间】:2010-10-18 23:47:24
【问题描述】:
我的问题涉及 jQuery .post 和 Joomla。我有一个模板,其表单位于手风琴区域之一(使用 jQuery UI 手风琴)。我在表单中有一个按钮 type=submit 。当用户单击手风琴区域中的按钮时,通过 jQuery 生成表单 html。
当用户点击表单提交按钮时,事件调用 jQuery.post,然后应该调用控制器中的保存函数,然后调用模型中的保存到数据库函数。
.post 的 URL 是 index.php,我序列化()表单输入 - 使用隐藏元素,我将任务设置为控制器内的保存功能,并且控制器也定义了。
问题是单击按钮时没有调用控制器中的保存任务,模型中的保存到数据库功能也没有。用户点击按钮后,页面重定向到 index.php(主页)。不保存到数据库。
任何帮助将不胜感激。
template.php 表单元素:
<input type="hidden" name="controller" value="controller" />
<input type="hidden" name="task" value="saveProgramUI" />'
.js 代码:
jQuery('#new_program_form').submit( function () {
if (jQuery('#new_program_form').valid()) {
jQuery.post("index.php", jQuery("#new_program_form").serialize(), function(html){
alert("Data Loaded: " + html);
});
}
});
控制器代码:
function saveProgramUI(){
$program = JRequest::get( 'POST' );
$model = & $this->getModel('pfm');
$model->saveProgramUI($program);
$resp = "Hello World!";
return $resp;
}
型号代码:
function saveProgramUI($program)
{
$programTableRow =& $this->getTable('programs');
// Bind the form fields to the programs table, save to db
if (!$programTableRow->save($program)) {
JError::raiseError(500, 'Error saving program');
}
}
【问题讨论】:
-
您应该接受对您问题的回答。
-
template.php 表单元素:'
-
新手...我如何接受答案?
-
点击每个问题最佳答案旁边的空心检查。
-
某人的答案旁边有一个空复选框。你会想点击它。您有机会从所有给出的答案中“挑选”出最佳答案。它表示尊重花时间给你一个很好的答案的人,同时帮助其他人在寻找他们自己的问题时找到你的问题。欢迎来到社区:)
标签: jquery ajax forms joomla submit