2015-02-05 5 views
3

Я только начал работать с CakePHP, и я хочу создать форму, которая, когда она будет отправлена, вызывает функцию в контроллере. Я использую CakePHP версии 2.6CakePHP form submit не работает

Кодекс я в настоящее время является:

вид:

<div class="modal-body"> 
    <?php echo $this->Form->create('Tweet', array('url' => array('controller' => 'posts', 'action' => 'postTweet'))); ?> 
    <?php echo $this->Form->textarea('Tweet', array('class' => 'form-control','rows' => '3', 'placeholder' => "what's happening?", 'maxlength' => '140', 'label' => false)); ?> 
    <?php echo $this->Form->button('Close', array('class' => 'btn btn-default', 'data-dismiss' => 'modal', 'type' => 'button'));?> 
    <?php echo $this->Form->submit('Tweet', array('class' => 'btn btn-primary', 'type' => 'submit', 'div' => false)); ?> 
    <?php echo $this->Form->end(); ?> 
</div> 

PostsController:

public function postTweet(){ 
     //check if post is being made 
     if ($this->request->is('post')) { 
      //do something 
     } 
    } 

HTML на странице:

<form action="/posts/postTweet" id="TweetIndexForm" method="post" accept-charset="utf-8"> 
    <div style="display:none;"> 
     <input name="_method" value="POST" type="hidden"> 
    </div>    
    <textarea name="data[Tweet][Tweet]" class="form-control" rows="3" placeholder="what's happening?" maxlength="140" id="TweetTweet"></textarea> 
    <button class="btn btn-default" data-dismiss="modal" type="button">Close</button>    
    <input class="btn btn-primary" value="Tweet" type="submit">    
</form>   

Проблема когда я нажимаю кнопку «Отправить», ничего не происходит, я проверял Firebug и никаких ошибок не было на вкладке консоли, POST не выполняется на вкладке сети, и в журнал ошибок также не регистрируются ошибки. Любая помощь будет большой благодарностью.

EDIT: У меня был JavaScript, препятствующий отправке формы Спасибо за помощь!

+0

Я думаю, что вы используете -> 'массив ('контроллер' => 'сообщения',' .... Смотрите Р CAPS –

+0

Пожалуйста, пост HTML, который вы видите в браузере –

+0

я я добавил HTML-код, который я вижу в браузере. – user3758298

ответ

1

Используйте представить, как ->

echo $this->Form->submit('Tweet', array('label' => false, 'name' => 'submit', 'class' => 'grayBTN', 'title' => '', 'alt' => 'Submit', 'error' => false)); 

Он работает Я использую его все время.

Вопрос с вашей отправкой: 'type' => 'submit' используется в вашем коде, а также указывается $this->Form->submit.

При указании кнопки с типом представить то его хорошо, как ->

echo $this->Form->button('Submit Form', array('type' => 'submit')); 

Но в вашем случае у вас есть $ this-> форма-> отправить .. Так что вам не нужно указывать его явно.

+0

Да, я пробовал разные вещи, и 'type' => 'submit' остался там, когда я пытался заставить его работать с помощью кнопки $ this-> Form->, теперь я удалил его и все еще имеют ту же самую проблему – user3758298

+0

@ user3758298, \t Его работая правильно sir -> http://jsfiddle.net/81uowjvw/1/ –

+0

@ user3758298, Если ваш HTML-код работает в HTML, он тоже должен работать в CakePHP :).

0

попробовать это

echo $this->Form->end(array('label' => 'Tweet','div' => false,'class' => 'btn btn-primary')); 
Смежные вопросы