Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [PHP] Организация 'submit' с помощью картинки. / 8 сообщений из 8, страница 1 из 1
04.09.2014, 22:52
    #38738033
Konstantin-78
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] Организация 'submit' с помощью картинки.
Доброе время суток всем:
Есть сайт (MVC)
Есть контроллер:
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
…
public function action_add()
    {
        if(isset($_POST['submit']))
        {
	…..
            $post = validation::factory($_POST);
        }
        $content = View::factory('Admin\Departments\departments_addV')
                                ->bind('errors', $errors)
                                ->bind('post', $post);
        $this->template->block_center = $content;
    }        
}


Есть к нему view:

Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
<h_add>Создать новый отдел (структуру)</h_add>
<br>
…
<?=Form::open('adminC/departmentsC/add')?>
<table>
    ……….        
            <?=Form::image('submit', 'picture', array('src'           => 'media/Img/save.png',
                                                        'onmouseover'   => 'this.src=\'/media/Img/save_click.png\';',
                                                        'onmouseout'    => 'this.src=\'/media/Img/save.png\';',
                                                        //'OnClick'    => '$_POST[\'submit\']',
                                                       // 'name'      => 'submit',
                                                       )
                          )?>
…..
</table>
        <?=Form::close()?>


У меня ни как не получается достучаться к «if(isset($_POST['submit']))».
Как это сделать?

Заранее спасибо
...
Рейтинг: 0 / 0
05.09.2014, 02:04
    #38738094
Konstantin-78
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] Организация 'submit' с помощью картинки.
Можно правда, в контроллере события
(" public function action_add() "), в проверке нажатия кнопки "Сохранить"
(" if(isset($POST['submit'])) "), писать не 'submit', а название какого-нибудь поля заполнения, допустим
" if(isset($POST['abbreviation'])) ", тогда будет работать.

Правда есть сомнения в правильности , данной записи
...
Рейтинг: 0 / 0
05.09.2014, 10:00
    #38738212
vkle
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] Организация 'submit' с помощью картинки.
Konstantin-78У меня ни как не получается достучаться к «if(isset($_POST['submit']))».Для начала var_dump($_POST);
Смотреть, что вообще приходит от клиента.
Если нет ожидаемого поля - смотреть сформированный html-код, что там не соответствует желаемому.

PS: Слово "никак" в данном случае пишется слитно.
...
Рейтинг: 0 / 0
05.09.2014, 15:26
    #38738765
alex564657498765453
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] Организация 'submit' с помощью картинки.
[quot vkle]Konstantin-78PS: Слово "никак" в данном случае пишется слитно.

:) капец петросян, под стол сехал :)
...
Рейтинг: 0 / 0
05.09.2014, 15:43
    #38738790
alex564657498765453
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] Организация 'submit' с помощью картинки.
Код: php
1.
2.
'onmouseout'    => 'this.src=\'/media/Img/save.png\';',
 //'OnClick'    => '$_POST[\'submit\']',



чтото мне сдаёться, сдесь лажа. ибо первая строка, это явно кусок джаваскриптового кода
а вот вторая, явно к джаваскрипту отношения не имеет совсем.

наверно там должно быть чтото типа

Form:: по идее есть метод крейт, и по идее можно задать имя формы
например petruha

тогда на джаваскрипте форма сабмититься(отправляеться) строкой кода

document.petruha.submit();
...
Рейтинг: 0 / 0
05.09.2014, 17:14
    #38738905
Konstantin-78
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] Организация 'submit' с помощью картинки.
vkleДля начала var_dump($_POST);
Смотреть, что вообще приходит от клиента.
Если нет ожидаемого поля - смотреть сформированный html-код, что там не соответствует желаемому.


Я работаю с фрэймверком "kohana", и пытался не отходить от ее методики.
Форма генерирует массив $_POST, и поля "submit" там действительно нет, т.к. вместо графической кнопки, там простой submit использовался, а я решил поставить графику, используя имеющийся для этого инструмент
В моем случае форма выдает:
Array ( [abbreviation] => [name] => [submit_x] => 30 [submit_y] => 8 )
В случае, когда используется обычная кнопка "submit", форма выдает:
Array ( [abbreviation] => [name] => [submit] => Add )

P.S.
Поля
[abbreviation], [name] - незаполненные.
Поле [submit] - генерируется автоматически, тамошним методом "<?=Form::submit('submit', 'Add')?>"
...
Рейтинг: 0 / 0
05.09.2014, 18:28
    #38738977
alex564657498765453
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] Организация 'submit' с помощью картинки.
Konstantin-78Я работаю с фрэймверком "kohana", и пытался не отходить от ее методики.
Форма генерирует массив $_POST

да ты и не подошол ещо к "методике" Кохана.

вспомогательный клас форма, генерирует штмл код для формы, а форма, если посылаеться
методом POST , будет представлена в масиве $_POST , если GET то $_GET

ты хочешь добавить сабмит картинкой,

копаем фреймворк(зашол в документацию наспех проследил)

метод сабмит, базирует работу на методе инпут , а этот базирует свою работу на хтмл помочнике.

притом что метод инпут заточен имено под поля.


теперь определёмся что ты хочешь. стилями перерисовать кнопку? дык в методах полей
есть последний параметр - атрибуты, куда можно дабавить атрибуты штмл тегу - втом чисте стили, втом числе обработчики событий

если же ты хочешь вставлять тег имедж, ну тут уже никуда

ибо метод инпут возвращает
return '<input'.HTML::attributes($attributes).' />';

как видим имя тега - кардкор.
...
Рейтинг: 0 / 0
05.09.2014, 19:11
    #38739017
Konstantin-78
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
[PHP] Организация 'submit' с помощью картинки.
alex564657498765453,

Да про $_POST, я уже понял, и то.
Тут подсказали, что кнопку анализировать вообщем не нужно, Кохана умеет понимать как пришли данные, достаточно вызвать $this->request->post()., т.е
Код: php
1.
2.
3.
...
if ($this->request->post()) 
...


Проверил, вроде работает
И про саму кнопку, посоветовали вместо "onmouseover, onmouseout" использовать Есть css :hover.
...
Рейтинг: 0 / 0
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / [PHP] Организация 'submit' с помощью картинки. / 8 сообщений из 8, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]