台灣最大程式設計社群網站
線上人數
1241
 
會員總數:240877
討論主題:186649
歡迎您免費加入會員
討論區列表 >> ASP.NET >> 動態產生控制項與Javascript
[ 變換順序 ]  
[我要回覆]
1
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
動態產生控制項與Javascript
價值 : 500 QP  點閱數:500 回應數:9

樓主

Forevertim
初學者
574 5
1204 144
發送站內信

各位大大,小弟不才,請問:
因為我要在畫面上就對產生的TextBox,讓使用者輸入後,不用PostBack就會判斷是否是數字、並且不超過5。
1.要如何將動態產生的控制項TextBox,做一個只能輸入數字,並且不能超過5的判斷??
2.string aaa = ((TextBox)GV2.Rows[0].Cells[1].FindControl("TB_2_0")).Text;//這個是可以抓得到,不過不是我要的><

//下列是在GridView動態產生的TextBox


//下列是Javascript,但是我抓不到動態產生的TextBox


搜尋相關Tags的文章: [ 動態產生控制項 ] , [ Javascript ] ,
本篇文章發表於2017-04-13 09:15
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

四百龍銀
檢舉此回應
給控制項個class或name dom抓name或class就行拉
本篇文章回覆於2017-04-13 09:42
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
因為我要在畫面上就對產生的TextBox,讓使用者輸入後,不用PostBack就會判斷是否是數字、並且不超過5。
1.要如何將動態產生的控制項TextBox,做一個只能輸入數字,並且不能超過5的判斷??
2.string aaa = ((TextBox)GV2.Rows[0].Cells[1].FindControl("TB_2_0")).Text;//這個是可以抓得到,不過不是我要的><


a.不PostBack
所以要寫Client Script
(不過提醒一下,Client端的檢查是很容易關掉的,建議Server端最後還是要驗證一次)

b.動態產生控制項(這是指在Server端動態產生吧)

小喵做的話,會用jQuery來幫忙,會簡單一些
1.動態產生的TextBox,會給一個自訂的屬性(Attribute)
2.透過jQuery,綁上KeyDown的事件
3.判斷只能輸入數字,會用keyCode來處理

小喵寫一個簡單的範例

在畫面中安排一個TextBox,一個按鈕
該按鈕會依據TextBox的數字,產生TextBox在PlaceHolder中


接著,按鈕按下,產生TextBox,注意小喵會增加一個自訂屬性,方便讓jQuery找到這些TextBox



最後,就是jQuery登場的時候,利用自訂屬性,找到這些TextBox,並綁上「keydown」事件


就醬子,只能輸入數字,最多5個字,完成了∼

^_^
本篇文章回覆於2017-04-13 09:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
回應

四百龍銀
檢舉此回應
看您的程式 應該是by 資料顯示在gridview
我會建議直接加在gridview ItemTemplate內
下面的範例是利用class Amount JQ去find執行onkeyup

本篇文章回覆於2017-04-13 10:11
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
作者回應

Forevertim
檢舉此回應
各位大大,晚回覆了,抱歉~
TO 四百龍銀 : 謝謝您的建議,不過表格太浮動了,所以才會選擇動態產生~
TO topcat : 謝謝您的回覆。
可以在請教您幾個問題嗎?
1.動態產生的控制項,是否可以做加總的統計?
2.下方的Javascript,可以輸入5.1,但是不能輸入5.2。我不太明白,是抓取小數點後兩位的關係嗎??


本篇文章回覆於2017-04-14 09:43
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
最有價值解答

topcat
捐贈 VP 給 topcat 檢舉此回應
1.動態產生的控制項,是否可以做加總的統計?

在Client端的Script嗎?當然可以
jQuery透過foreach搭配自訂屬性,很容易精準抓到您要處理的那些TextBox並且回圈處理
^.^a
本篇文章回覆於2017-04-14 10:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
2.下方的Javascript,可以輸入5.1,但是不能輸入5.2。我不太明白,是抓取小數點後兩位的關係嗎??


小喵不太明白您所說的是什麼意思
小喵測試


結果:都是true,並沒有您所說的狀況


^.^a
本篇文章回覆於2017-04-14 13:40
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

topcat
捐贈 VP 給 topcat 檢舉此回應
樓主後來有測試嗎?結果是什麼?
問題是否已經解決?
^.^a
本篇文章回覆於2017-04-17 11:35
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
作者回應

Forevertim
檢舉此回應
謝謝各位的回覆~
2.下方的Javascript,可以輸入5.1,但是不能輸入5.2。我不太明白,是抓取小數點後兩位的關係嗎??
抱歉,意思是 alert($(this).val());//會出現上次的值
我不太知道這個怎麼表達,大概是這樣
當Text預設值等於1
使用者輸入2,但是警告視窗會先跑1出來,值到下次
所以這邊在追加mouseout事件就可以了。

然後加總部分,我在試試看,先謝謝各位了~
本篇文章回覆於2017-04-17 11:39
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
作者回應

Forevertim
檢舉此回應
抱歉^^",我不知道怎麼分配點數,就...><
本篇文章回覆於2017-04-17 11:42
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
[ 變換順序 ]   
1

回覆
如要回應,請先登入.