在使用框架或者编写其他的处理程序的时候会遇到这种情况,在一个表单中有多个输入的信息,但要采用不同的处理方法,也就是需要传递给不同的后台文件中去,但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");
        }
    });
内容来源于网络如有侵权请私信删除
你还没有登录,请先登录注册
  • 还没有人评论,欢迎说说您的想法!