将文本输入值替换为内部输入的内容

时间:2013-10-18 18:07:44

标签: jquery html forms codeigniter input

我已在我的网站上为我的项目制作了更新表单。在我的php中,我使用数据库中的现有信息填充输入文本标记的值。我希望能够将输入标签的值更改为我键入的任何内容,但似乎不起作用。当我点击提交时,值根本不会改变(我检查了我的数据库,字段的值与以前相同)。

我觉得这是一个非常简单的想法,基本上所有WYSIWYG / CMS功能相同。我究竟做错了什么?我需要用什么Javascript / jQuery来实现这个目标?

(糟糕)这是我的代码

(我正在使用CodeIgniter)这是输入标签的PHP:

<?php 
    $title_input = array(
        'name' => 'title',
        'id' => 'title',
        'autocomplete' => 'off'
    );

    if (isset($updating)) {
        $title_input['value'] = $project->title;
    }
    echo form_input($title_input);
?>

哪个吐出来:

<input type="text" name="title" value="My Project Title" id="title" autocomplete="off">

提交表单时,这就是我(尝试)更改数据库中信息的方式:

$project->title = $this->input->post('title');

这是我在创建新项目时使用的完全相同的代码,除了我希望它能检测到更改的输入文本值。 :/

1 个答案:

答案 0 :(得分:0)

我当前有一个页面需要输入并将其存储在数据库中,当重新访问页面时,如果以前存储了任何信息,则会加载该页面并进行编辑。提交后,我再次保存。

你应该考虑的事情:

  • 确保在处理更新的函数中检查$ _POST。如果您使用的是单独的函数(对于new和for update),则使用echo语句检查所有if语句参数是否有效且不为空。)
  • 尽可能使用isset与!=''的组合,这将确保if语句被正确评估。
  • 维护单独的模型函数以处理更新。做imho的最好的事情是再次保存整个表格。不仅要检查已修改的字段。您可以检查所需字段是否为空,但除此之外,如果可能,请重新提交整个表单

如果您愿意分享您的代码,可以提供更多帮助