【轉】一個表單多個提交的實現


問:
我在一個表單中有三個提交按鈕,想實現點擊不同的按鈕,實現不同的操作。
有沒有好一點的解決辦法。
小第在此等着啦。
謝謝。
______________________________________________________________________________________________
答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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM