2013-06-13 6 views
4

Я пытаюсь создать простую форму для отправки данных в базу данных с помощью ajax. вот мой взглядcakephp 2.3 ajax form submission

<?php echo $this->Html->script('jquery', FALSE); ?> 
<?php echo $this->Html->script('validation', FALSE); ?> 
    <div id="success"></div> 
    <h2>Contact Us</h2> 

    <?php 
    echo $this->Form->create(); 
    echo $this->Form->input('name', array('id'=>'name')); 
    echo $this->Form->input('email', array('id'=>'email')); 
    echo $this->Form->input('message', array('id'=>'message')); 
    echo $this->Js->submit('Send', array(
'before'=>$this->Js->get('#sending')->effect('fadeIn'), 
'success'=>$this->Js->get('#sending')->effect('fadeOut'), 
'update'=>'#success' 
)); 
echo $this->Form->end(); 
    ?> 
    <div id="sending" style="display: none; background-color: lightgreen;">Sending...</div> 

Контроллер

class MessagesController extends AppController{ 

public $helpers = array('Js'); 
public $components = array('RequestHandler'); 

public function index(){ 

    if(!empty($this->data)){ 
     if($this->Message->save($this->data)){ 
      if($this->request->isAjax()){ 
      $this->render('success','ajax'); 
      }else{ 


     $this->Session->setFlash('Message sent'); 
     $this->redirect(array('action'=>'index')); 
     } 
     } 
    } 
} 

} 

он не отправляет форму через AJAX .. на самом деле я новичок в CakePHP, и это мой первый раз я использую Ajax в CakePHP. а также я хочу знать, что я могу использовать codeigniter или простой php аналогичный синтаксис представления формы в php торта. например, как это

<script> 

$('#btn').click(function(event) { 
     form = $("#form").serialize(); 

    $.ajax({ 
     type: "POST", 
     url: "<?php echo site_url('categoryController/addCategory'); ?>", 
     data: form, 

     success: function(data){ 
      $('.modal').modal('hide'); 
      $(".success").fadeIn(500).delay(2000).fadeOut(500); 
      $("#form")[0].reset(); 
      //Unterminated String constant fixed 
     } 

    }); 
    event.preventDefault(); 
    return false; //stop the actual form post !important! 

    }); 

</script> 
+0

вы можете сказать мне более конкретно, что это проблема? Вы видите запрос ajax с помощью firebug? –

+0

Извините, я получил свой ответ на самом деле, я отсутствовал. Файл jquery.js – hellojohn

+0

Если вы нашли ответ, можете ли вы удалить вопрос (поскольку это была проблема с файлом и не так много общего с кодированием)? Или ответьте сами и согласитесь? – Nunser

ответ

0

жаль, что я получил мой ответ на самом деле я был пропавшие jquery.js файл