如何使一个表单具有多个操作

dha*_*ara 0 forms model-view-controller codeigniter view

我有一个疑问是有可能有一个单一的表单(查看页面),有多个动作,如我想在同一个视图页面上保存,更新和删除..如果用户点击任何按钮,那么它必须调用一个必要的控制器功能是否可能?

Lor*_*o S 5

你有一些方法可以做到这一点,但所有这些都需要一些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>
Run Code Online (Sandbox Code Playgroud)

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();
}
Run Code Online (Sandbox Code Playgroud)

希望我得到你的怀疑,这解决了你的问题:)