I eklemek bastıktan sonra CakePHP'de yorum formu giriş aynı değeri tutar

4 Cevap php

Ben-David Golding "acemi professiona Başlangıçtan CakePHP'de" bir blog sitesi oluşturduk. Ben aşağıda listelenen Yorum görünümü var:

<div class="comments form">
<?php echo $form->create('Comment');?>
    <fieldset>
    	<legend><?php __('Add Comment');?></legend>
    <?php
    	echo $form->input('name');
    	echo $form->input('content');
    	echo $form->input('post_id');
    ?>
    </fieldset>
<?php echo $form->end('Submit');?>
</div>
<div class="actions">
    <ul>
    	<li><?php echo $html->link(__('List Comments', true), array('action' => 'index'));?></li>
    	<li><?php echo $html->link(__('List Posts', true), array('controller' => 'posts', 'action' => 'index')); ?> </li>
    	<li><?php echo $html->link(__('New Post', true), array('controller' => 'posts', 'action' => 'add')); ?> </li>
    </ul>
</div>

The problem is after i press Submit the values remains in name and content fields. Can anybody help me?

Teşekkürler,

4 Cevap

Burada birkaç seçenek var:

Sen $ dokunduktan sonra, kendi denetleyicisi, gönderdikten sonra yönlendirebilirsiniz bu-> yöntemi, yer tasarrufu:

$this->redirect(array('action'=>'index'));

Eğer dönmek isteyen nerede eylem nerede.

Yoksa bu-> save $ sonra, denetleyici tekrar, değerleri temizleyebilirsiniz

$this->data['Comment']['name'] = "";
etc...

Yorum denetleyicisi benim eklenti eylem gibi görünüyor:

function add() {
	if (!empty($this->data)) {
	 if ($this->Comment->save($this->data)) {
	 	$comments = $this->Comment->find('all', array('conditions' => array('post_id' => $this->data['Comment']['post_id']), 'recursive' => -1));
		$this->data = $this->Comment->create();
		$this->set(compact('comments'));
		$this->render('add_succes','ajax');
		} else { $his->render('add_failure','ajax');}
	}
}

Ben yine yorum işlemek için ajax kullanmak. Benim sorunum yorum formu eski değerlerin hala devam yerine onları silmek olduğunu

Göre http://book.cakephp.org/view/1366/form, aynı formda $ajax->form() ve $ajax->submit() kullanmamalısınız.

Peki şimdi ne olacak?

Lütfen Yorumlar denetleyici içinde sizin eklenti fonksiyonu $this->Comment->save($data); yaptıktan sonra yönlendirme emin olun

Emin tasarruf yaptıktan sonra bu ekle () çalıştı:

$this->flash('Thanks for the comment',array('controller'=>'comments','action'=>'index'));

Edit

Ajax helper $ajax->create kullanın ve $ajax->submit. yani.

$ajax->submit('Add comment', array('update' => 'refreshArea','indicator' =>
'loading','complete' => 'document.commentForm.reset()'));