1. 程式人生 > >jsp頁面表單提交

jsp頁面表單提交

有時候我們會遇到這樣的問題,即多個頁面要接收同一個表單的資料,那麼怎麼實現這一功能呢,本文將會闡述。

  我們知道,一個表單可以很容易地遞交到一個處理頁面,只需要一個submit按鈕即可,但有時候,我們要用不同的處理頁面來接收表單的資料並加以處理。如果我們為不同的處理頁面分別設計各自的表單的話,如果採集的資料都是一樣的,在這種情況下既浪費頁面篇幅同時在大資料量輸入時非常浪費時間和精力。要解決這一問題我們只需要實現一個表單向多個頁面遞交資料這一功能即可。

  那麼怎麼實現這一功能呢?下面提供三種方法:

  方法一:使用多個button按鈕,為每個按鈕的onclick事件設計一個子過程,通過讀取按鈕的值來判斷向誰提交資料,原始碼如下:

<script language="javascript">
    function tosubmit1()
    {
    document.submitform1.action="1.asp";
    document.submitform1.submit();
    }
    
    function tosubmit2()
    {
    document.submitform1.action="2.asp";
    document.submitform1.submit();
    }

 function tosubmit3()
    {
    document.submitform1.action="3.asp";
    document.submitform1.submit();
    }
    </script>
</head>    
<form name="submitform1" action="" method="post" target="_blank">
<input type="button" name="submit1" value="提交給1.asp" onclick="tosubmit1()">
<input type="button" name="submit2" value="提交給2.asp"

onclick="tosubmit2()">
<input type="button" name="submit3" value="提交給3.asp" onclick="tosubmit3()"> 
</form>

  方法二:使用多個button按鈕,定義每個按鈕的onclick事件的處理過程,不需要判斷按鈕的value值,而直接定義form表單的action值,程式碼比較簡單,如下:

<form name="submitform2" action="" method="post" target="_blank">
<input name="submit1" value="提交給1.asp" type="button" onclick="submitform2.action='1.asp';submitform2.submit();">
<input name="submit2" value="提交給1.asp" type="button" onclick="submitform2.action='2.asp';submitform2.submit();">
<input name="submit3" value="提交給1.asp" type="button" onclick="submitform2.action='3.asp';submitform2.submit();">
</form>

方法三:同樣使用多個button按鈕,也同樣為每個按鈕設計一個onclick事件子過程,不同的是使用switch case語句來判斷button按鈕的value值,從而作相應的處理,程式碼如下:

<form name="submitform3" action="" method="post" target="_blank">
<input type="submit" name="submit1" value="提交給1.asp" onclick="dothis(this)">
<input type="submit" name="submit2" value="提交給2.asp" onclick="dothis(this)">
<input type="submit" name="submit3" value="提交給3.asp" onclick="dothis(this)">
</form>
<script language="javascript">
  function dothis(obj)
  {
     switch(obj.value)
     {
        case "提交給1.asp":
        document.submitform3.action="1.asp";
        break;
        case "提交給2.asp":
        document.submitform3.action="2.asp";
        break;
  case "提交給3.asp":
        document.submitform3.action="3.asp";
        break;
     }
  }
</script>

其實本文所舉的三個方法都是大同小異的,只不過在處理手段上略有不同,歡迎大家討論。