【发布时间】:2011-10-01 09:51:39
【问题描述】:
所以我正在开发一个使用 MVC 模型的面向对象的 PHP 网站。在我看来,我有以下代码正在生成一个表单:
//Handle add custom module button click
$('.custom-btn').click(function() {
var id = $('.custom-fieldset').length + 1;
var fieldset = '<fieldset style="display: none;" id="custom_module_fieldset_'+id+'" class="custom-fieldset fancy"><legend>Title goes here</legend><label
id="label_custom_edit_title_'+id+'" for="custom_edit_title_'+id+'">
<span>Edit title:</span><input id="custom_edit_title_'+id+'" type="text" name="custom_edit_title_'+id+'" value=""></label><label id="custom_label_edit_desc_'+id+'" for="custom_edit_desc_'+id+'"><span>Edit description:</span><textarea id="custom_edit_desc_'+id+'" name="custom_edit_desc_'+id+'" rows="5"></textarea></label><input id="custom_to_default_'+id+'" type="button" name="custom_to_default_'+id+'" class="custom-confirm-btn" value="Delete this Custom Module"></fieldset>';
$('#add_custom_module').before(fieldset);
$('#custom_module_fieldset_'+id).fadeIn();
return false;
});
我需要将这些值插入到数据库中,这意味着将它们返回到控制器页面。我正在尝试这样做:
$ctt = 'custom_edit_title'.$id;
$ctd = 'custom_edit_desc'.$id;
$customTextTitle = $_POST[$ctt];
$customTextDescription = $_POST[$ctd];
我试过不带单引号,但有点搞砸了,但最终我不确定如何处理 jquery 生成的表单中的字段名中的 +id+。然后如何在 php 变量中设置它的那部分?
TO SUMMARIZE::: 如何在 jquery 中获取表单字段并将其反馈给用 PHP 编写的控制器?
【问题讨论】:
-
您不需要
post表单并捕获控制器中的值吗?? -
您的 javascript 正在客户端运行 - php 在发送到客户端之前已被解释。如果您想要这些变量在服务器端,则必须通过表单提交或使用 ajax 将它们发回。你想用它们做什么?
-
javascript 中的
id变量与PHP 变量完全分开。 PHP 代码中的$id来自哪里? -
我最初确实将这个设置为一个帖子......你可能是对的 3nigma。
-
通过表单或 AJAX 发出 GET 或 POST 请求。
标签: php jquery oop model-view-controller