0

フォーム フィールドがデータベースから読み込まれる編集ページを作成しようとしています。ランダムなテキストを設定するだけで機能させようとしていますが、表示に問題があります。

コントローラーには次のものがあります。

public function edit($item_id) {

    $this->data['title'] = "Edit Item";

    $this->data['item_title'] = array(
        'name' => 'item_title',
        'id' => 'item_title',
        'type' => 'text',
        'value' => 'a title',
      );

      $this->data['url_slug'] = array(
        'name' => 'url_slug',
        'id' => 'url_slug',
        'type' => 'text',
        'value' => 'some-url-slug',
      );

    $this->template->build('admin/item/form', $this->data);
  }

これは私の見解です:

<?php echo form_open('admin/item/update_item', array('id' => 'item_form')); ?>

<input type="text" name="item_title" value="<?php echo set_value('item_title'); ?>" id="item_title" placeholder="Enter a title..."/>

<input type="text" name="url_slug" value="<?php echo set_value('url_slug'); ?>" id="url_slug" placeholder="url-slug-of-the-item"/>

/edit/id ページに移動すると、プレースホルダーがまだ表示され、値が空白になっています。なぜ設定されていないのですか?フォームの検証に使用すると問題なく動作します。

4

3 に答える 3

2

私はまだ codeigniter に慣れていないので、私の無知を許してください。

次のものを単純に使用することはできませんか?

<input type="text" name="item_title" value="<?= $item_title['value'] ?>" id="item_title" placeholder="Enter a title..."/>

注:これは、fuelphp に有効です。codeigniter について 100% 確信があるわけではありません。

于 2012-07-27T19:14:13.290 に答える
1

私は配列を捨ててコントローラーでやっただけ$this->data['item_title'] = 'some title';で、ビューでは set_value は実際には次のように2番目のパラメーターを受け入れます:

<?php echo set_value('item_title', $item_title); ?>

これで問題はありませんが、変数が存在しない場合は警告が表示されるため、変数をすべて宣言する必要があります。

于 2012-07-27T20:39:34.143 に答える