使用<a>標籤提交表單數據的問題以及獲取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){

   ........

}

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章