同一个表单,传递到不同的处理器中

在使用框架或者编写其他的处理程序的时候会遇到这种情况,在一个表单中有多个输入的信息,但要采用不同的处理方法,也就是需要传递给不同的后台文件中去,但form的属性中只能写一个action,我们如何去把同一个表单中的内容传递给不同的处理程序呢?
我这里有两种解决的办法,一个是利用html5的新特性,另一个则是用jquery来解决。

html5新特性

在html5中有个方法,在input同时type=“submit”的标签中存在两个属性 form 和formaction。form属性值是表单的id,formaction的属性值是传递路径。

<!-- __CONTROLLER__/delAll 是thinkphp框架中控制器的路径,这里只需填写您的处理程序的路径即可 -->
<input type="submit" form="myform" formaction="__CONTROLLER__/delAll" value="批量删除" class="btn btn-primary btn2"/>
<input type="submit" form="myform" formaction="__CONTROLLER__/sort"  value="更新排序" class="btn btn-primary btn2"/>
jquery

首先设置点击提交按钮时利用id获取到form标签,然后再把属性值改为需要传递的处理程序的地址。

    $("#submit_id").click(function(){
                //在1.6以上的jquery中不在使用attr()方法,而是有新的prop()方法代替
        if($("#form_id").prop("action")){
            $("#form_id").prop("action","__CONTROLLER__/sort");
        }
    });

转载于:https://www.cnblogs.com/wtyhome/p/7289703.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值