Cakephp: название кнопки не включается в пост при использовании JavaScript - PullRequest
0 голосов
/ 26 марта 2019

У меня есть форма с несколькими кнопками отправки:

<?php if($is_admin){    
                        echo $this->Form->submit(__('Direct Assign'), ['id' => 'DAbtn', 'name' => 'btn', 'class' => 'button']);
                        echo $this->Form->button(__('Direct Assign & New Task From Copy'), ['id' => 'DANTbtn', 'name' => 'btn', 'class' => 'button']);} ?>
                    <?= $this->Form->button(__('Save as pending'), ['id' => 'SPbtn', 'name' => 'btn', 'class' => 'button']) ?>
                    <?= $this->Form->button(__('Save as pending & New Task From Copy'), ['id' => 'SPNTbtn', 'name' => 'btn', 'class' => 'button']) ?>
                    <?= $this->Form->end() ?>

Итак, в контроллере я могу проверить, какая кнопка была нажата:

$this->request->getData('btn')

Но после того, как я добавил javascript для этих кнопок, он перестал включаться, включая 'btn' в Post vars.

//Don't allow multiple submit, disable submit button after submission of the form
    $( function() {
        $("#newTaskForm").submit( function() { 
            $(".button").attr("disabled", true);
            return true;

        });
    });

Так что мне пришлось удалить код js. Можно ли это исправить?

1 Ответ

3 голосов
/ 28 марта 2019

Так работает HTML, значения отключенных элементов не отправляются.Если вы хотите запретить многократную отправку, тогда используйте свойство только для чтения вместо отключенного.

$(function() {
    $("#newTaskForm").submit( function() { 
        $(".button").attr("readonly", true);
        return true;
    });
});

ИЛИ установите любой загрузчик, чтобы избежать многократной отправки

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...