1. 程式人生 > >使用標籤提交表單資料的問題以及獲取session作為函式的引數呼叫的問題

使用標籤提交表單資料的問題以及獲取session作為函式的引數呼叫的問題

我在做動態網頁時遇到以下幾個問題,花了我好多時間才解決的。所以我要將它記錄下面,為我以後再次遇到問題作參考。若是大家覺得哪裡不對的,歡迎大家留言

1.不是表單一般是使用<input type="submit">提交按鈕,點選後就可以將表單中的資料提交了嗎?但是我這次將<a>標籤作為提交按鈕,但是它實現的是超連結的功能,滑鼠放上去也不會有手指出現,所以你可以這樣子設定href="javascript:;",這樣子放上去就可以出現手指的圖示了。

2.另外你要是點選它能夠將表單中的資料提交的話就要加一句onclick="$('#step1_frm').submit();"。其中step1_frm為表單的id屬性的值。

3.但是我製作這個表單的過程中會使用到JavaScript來判斷表單中的資料是否規範來決定是否要提交表單中的資料,不然點選提交按鈕就提交資料這可是不行的,所以這是加上這句onsubmit="return check()",當check()函式返回true時才會提交表單中的資料。到這裡就要注意的地方是onsubmit 事件會在表單中的確認按鈕被點選時發生, 如果你用<a>標籤作為按鈕的話,這時就可能不會觸發onsubmit事件,也就不會呼叫check()函式,這樣子你就要想第二步那樣子設定onclick="$('#step1_frm').submit();"才會觸發事件。

4.如果想獲取session的值作為函式實參的話,你如果這樣子呼叫的話check(<%=(String)request.getSession().getAttribute("abc") %>),是不能呼叫check()函式的,因為我們要傳的是字串,所以要加""或者‘’在前面,才能呼叫check()函式。這個解決方法是我通過百度看到的,是一位網友寫的部落格,其實我挺感謝這篇部落格的,不然我就困在這裡想不出來了。這是這篇部落格的地址:http://youzhibing.iteye.com/blog/2166047

這是主要的幾行程式碼,看得清楚點

<form action="" method="post" id="step1_frm" onsubmit="return check('<%=(String)request.getSession().getAttribute("abc") %>');">

<a onclick="$('#step1_frm').submit();" href="javascript:;">下一步</a>

</form>

函式check大概這樣子

 function check(code){

   ........

}