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

  • 相关阅读:
    POJ 3660 Cow Contest (floyd求联通关系)
    POJ 3660 Cow Contest (最短路dijkstra)
    POJ 1860 Currency Exchange (bellman-ford判负环)
    POJ 3268 Silver Cow Party (最短路dijkstra)
    POJ 1679 The Unique MST (最小生成树)
    POJ 3026 Borg Maze (最小生成树)
    HDU 4891 The Great Pan (模拟)
    HDU 4950 Monster (水题)
    URAL 2040 Palindromes and Super Abilities 2 (回文自动机)
    URAL 2037 Richness of binary words (回文子串,找规律)
  • 原文地址:https://www.cnblogs.com/kiwi/p/2795063.html
Copyright © 2011-2022 走看看