zoukankan      html  css  js  c++  java
  • 【转】一个表单多个提交的实现

    问:
    我在一个表单中有三个提交按钮,想实现点击不同的按钮,实现不同的操作。
    有没有好一点的解决办法。
    小第在此等着啦。
    谢谢。
    ______________________________________________________________________________________________
    答1:
    在开头定义javascript然后在正文中的按钮上用onClick="return calc_form()"来转向
    function print_form()
      {
       document.form.action = "print_page.php?id=<?=$id?>";
       document.form.target="_blank";
      }
    function sub_form()
      {
       document.form.input_ok.value=1;
       document.form.action = "buy_list.php?id=<?=$id?>";
       document.form.target="";
      }
    function save_form()
      {

       document.form.input_ok.value=2;
       document.form.action = "buy_list.php?id=<?=$id?>";
       document.form.target="";
      }

    ______________________________________________________________________________________________
    答2:
    最简单的办法:为每一个按钮写一段脚本
    <form id=frm1 name=frm1 method=post action="">
    <input id=sendvalue name=sendvalue>
    <input type=button id=btn1 name=btn1 onclick="send1()" value="提交1">
    <input type=button id=btn1 name=btn1 onclick="send2()" value="提交2">
    <input type=button id=btn1 name=btn1 onclick="send3()" value="提交3">
    </form>
    <script>
      function send1(){
         frm1.sendvalue=1;
         frm1.submit();    
      }
      function send2(){
         frm1.sendvalue=2;
         frm1.submit();
      }
      ...
    </script>
    ______________________________________________________________________________________________
    答3:
    switch ($submit) {
      case "添加": 
        echo "选择的是添加";
        break;
      case "删除":
        echo "选择的是删除";
        break;
      case "重命名":
        echo "选择的是重命名";
        break;
    }


    ______________________________________________________________________________________________
    答4:

    一个表单多个按钮,用脚本实现表单的分向提交的另一种方法
    发表于 2010 年 02 月 05 日 由 admin

    <coolcode lang="java script"> <form method="post" action="option.php?action=mailsend_out" id="writemail">

    <input type="submit" value="发送邮件" onClick="sendmail()" id="sendmaila">
    <input type="button" value="存为草稿" onClick="savedraft();" id="saveddd">
    <input type="hidden" name="saveD" value="">
    <input type="button" onClick="history.back();" value="返回" id="backhistory">

    <script>
    function savedraft(){
    document.getElementById("saveD").value="savedraft";
    //alert(document.getElementById("saveD").value);
    document.getElementById("writemail").submit();
    }
    function sendmail(){
    document.getElementById('sendmaila').disabled='disabled';
    document.getElementById('sendmaila').value='发送中,请等待…..';
    document.getElementById('saveddd').disabled='disabled';
    document.getElementById('backhistory').disabled='disabled';
    document.getElementById('writemail').submit();
    }

    </script>
    </form>

    </coolcode>

    其中<input type="hidden" name="saveD" value="">是关键,也就是设置一个hidden的input,在按了不同的按钮赋值给此hidden不同的值,那么在option.php?action=mailsend_out的处理步骤中只要判断saveD的value就可以了
    此条目发表在 javascript 分类目录。将固定链接加入收藏夹。

    ______________________________________________________________________________________________
    答5:

    一般表单只有一个后台处理程序(如,CGI程序;ASP程序等等)与之对应,用来处理表单提交的数据。
            但是,在某些情况下,我们希望同一个表单可以根据用户的选择,提交给不同的后台处理程序。
    即,表单的分向提交。如,我们希望实现用户在发送贴子的时候,既发送提交功能又有预览功能时,就会遇到上述问题。即,当用户点击提交按钮时,我们希望表单提交给"提交"处理程序;而当用户点击预览按钮时,我们希望表单提交给"预览"处理程序。那么,如何实现上述功能呢?下面代码可以很好的解决这个问题。


    <form name="form" method="post">
    测试表单:<input name="test"><br>
    <input type="button" value="提交" onClick=send()>
    <input type="button" value="预览" onClick=preview()>
    </form>
    <script language=javascript>
    function send()
    {
    document.form.action="send.asp"
    document.form.submit()
    }
    function preview()
    {
    document.form.action="preview.asp"
    document.form.submit()
    }
    </script>

             function send() { document.form.action="send.asp" document.form.submit() }function preview() { document.form.action="preview.asp" document.form.submit() }关于上面实例的两点说明:
            1、在整个表单中,不应有名字为action或submit的标签,否则将会产生"对象不支持此属性和方法"的错误(但是在firefox中这个没有报错)。如代码 "<input type=''xxxx'' name=''action'' >"在表单中是不允许出现的;
            2、在form标签中应该存在name属性。即,应该给表单取一个名字。语句document.form.action和document.form.submit中的"form"也就是表单的名字。
            表单的分向提交不仅仅使用在论坛的程序中,它还可以运用在许多场合下。恰当的运用表单的分向提交功能可以大大的增强网站的人性化程度。

            有时调试程序就出现了这样的问题,就是出现了"对象不支持此属性和方法"的错误,一直无法定位出来,都快疯掉了,原来就是因为一个button命名为submit了。

    ______________________________________________________________________________________________
    答6:
    一个文本框两个按钮怎么分别提交数据
    <script language=javascript>
    function ask() {
    document.all.dform.action = "ask.asp";
    document.all.dform.submit();
    }
    </script>

    <form action="search.jsp" method=get name=dform>
    <input type=text>
    <input type=submit value="搜索">
    <input type=button value="提问" onclick="cancel();">
    </form>

    http://hi.baidu.com/flysnows/item/26311fcdb73a2724e90f2e35

  • 相关阅读:
    Python 工程管理及 virtualenv 的迁移
    Python基础系列讲解——random模块随机数的生成
    Python进阶量化交易场外篇5——标记A股市场涨跌周期
    Python学习案例之视频人脸检测识别
    基于python的Splash基本使用和负载均衡配置
    你所听到的技术原理、技术本质到底是什么?
    BAT大厂面试流程剖析
    基于Python的ModbusTCP客户端实现
    互联网寒冬,Python 程序员如何准备面试
    ES-查询后10000条数据的设置
  • 原文地址:https://www.cnblogs.com/kiwi/p/2795063.html
Copyright © 2011-2022 走看看