Как иметь одну форму с несколькими действиями - PullRequest
0 голосов
/ 11 декабря 2018

У меня есть одно сомнение, возможно ли иметь одну форму (просмотреть страницу) с несколькими действиями, например, я хочу сохранить, обновить и удалить на одной странице просмотра ... если пользователь нажимает на любую из кнопок, тогда он долженвызов на нужную функцию контроллера это возможно ??

Ответы [ 2 ]

0 голосов
/ 11 декабря 2018

Не-JS способ достичь той же цели - использовать параметры имя / значение на каждой кнопке, чтобы ваш бэкэнд решал, что делать.

Пример

<?php echo form_open('controller/method'); ?>

// form fields go here

<button type="submit" name="add" value="y">press to add</button>
<button type="submit" name="update" value="y">press to update</button>
<button type="submit" name="delete" value="y">press to delete</button>

<?php echo form_close(); ?>

затем, на вашем контроллере, после проверки пользовательского ввода, вы можете определить, какая кнопка была нажата, считав, что кнопки посылают о себе на контроллер (я предполагаю, что вы используете форму помощника CI)

if ($this->input->post('add') == 'y')
{
  // the user wants to add
}

else if ($this->input->post('update') == 'y')
{
  // user wants to update
}

else
{
  // user wants to delete
}

// rest of code goes here

onВ каждой if структуре вы можете предпринять соответствующие действия в зависимости от того, какую кнопку пользователь нажал

0 голосов
/ 11 декабря 2018

У вас есть несколько способов сделать это, но все они требуют некоторого кода javascript.

Самым простым, что я могу придумать, является динамическое изменение действия формы при нажатии каждой кнопки (типа button)., а не submit (который используется по умолчанию), а затем отправьте форму.

Пример:

<form id="myform" name="myform" method="post" action="">
  <input id="myinput" name="myinput" type="text"/>
  [..]other inputs[/..]

  <button type="button" onClick="deleteAction()">DELETE</button>
  <button type="button" onClick="updateAction()">UPDATE</button>
  <button type="button" onClick="saveAction()">SAVE</button>
</form>

Где функции JS:

function deleteAction() {
    changeActionAndSubmit('/action/delete');
}

function updateAction() {
    changeActionAndSubmit('/action/update');
}

function saveAction() {
    changeActionAndSubmit('/action/save');
}

function changeActionAndSubmit(action) {
    document.getElementById('myform').action = action;
    document.getElementById('myform').submit();
}

НадеждаЯ получил твое сомнение, и это решает твою проблему:)

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