2016-05-22 13 views
0

cakePHPを使用してウェブサイトを作成しました。3.フォームヘルパーとメール送信者を使用して連絡先セクションにメールフォームを作成しました。メールは正常に機能していますが、送信(送信)ボタンをクリックすると、連絡先ページがリロードされ、入力フィールドが埋められます。CakePHP 3フォーム提出後の更新ページ

私がしたいのは、ページを更新しないでフォームフィールドをクリアし、モーダルを表示することです。 ¿これは可能ですか? ¿どうすればいいですか?

あなたにコードが必要かどうかわかりません。必要な場合は、私はそれを提供します。

ありがとうございました。ビュー内の

+2

は '私が欲しいpage'を更新しないことです。 _ここでは質問にコードを入れてください。 – AD7six

答えて

2

あなたは明確なフィールドは後に次の2つの方法で行うことができますフォームを送信したい場合は

<?= $this->Form->input('email',['value' => '']); ?> 

またはコントローラメソッドで次のように設定を解除あなたのsubmitedデータをメソッドを実行呼び出した後:

$contact = new ContactForm(); 
if ($contact->execute($this->request->data)) { 
    $this->request->data = []; 

} 

成功した場合は、フラッシュメッセージやその他の変数の成功を設定してから、ビューのフラッシュメッセージまたはモーダルを表示できます

あなたはJSでフォームを送信意味 - あなたのビューで
$this->Flash->success(__('The Message has been sent.')); 
// or 
$this->set('modal', true); 

<?php if(isset($modal) && $modal == true): ?> 
    YOUR MODAL HERE 
<?php endif; ?> 
+0

回答ありがとうございますが、解決策の解決策はありません。最初のものでは、まだ入力がいっぱいになってページがリフレッシュされています。 2番目のものでは、私はエラーを提出します。 –

+0

投稿後にページからフォームを削除したいですか? – Salines

+0

いいえ、電子メールを送信した後に入力フィールドをクリアします。ありがとう –

関連する問題