Xin giúp về asp.net control sử dụng Javascript

Thảo luận trong 'Lập trình & Đồ hoạ' bắt đầu bởi thyphuong2901, 9/4/09.

  1. thyphuong2901

    thyphuong2901 Youtube Master Race

    Tham gia ngày:
    9/10/07
    Bài viết:
    19
    Mình có một asp control radio button mà khi chọn sẽ giấu đi một table row có sẵn. Trong trang aspx.cs hàm page_load mình khai báo:

    Return.Attributes.Add("OnClick", "test()");

    Với return là asp control id của cái radio button

    Còn trong trang aspx ở trong <script type="text/javascript" language="javascript"> là:

    Function test()
    {

    document.getElementById('<%=MyRow.ClientID %>').style.visibility="hidden";
    }

    MyRow là asp control ID của row cần giấu.

    Nhưng nó không chạy. Bạn nào có thể giúp với? Thanks
     
  2. Alien7

    Alien7 Guest

    Tham gia ngày:
    3/4/08
    Bài viết:
    158
    Mình nhớ là phải visibility="visible" hay style.display = 'none'
     
  3. thyphuong2901

    thyphuong2901 Youtube Master Race

    Tham gia ngày:
    9/10/07
    Bài viết:
    19
    Mình tìm ra được rồi. Cái hàm trong page load phải viết là :

    Return.Attributes.Add("OnClick", "document.getElementById('" + ReturnDateRow.ClientID + "').style.visibility=\"hidden\";");

    @Alien7: Mình đang muốn ẩn nó đi nên phải set visibility là hidden. Hình như display = none thì kô visible lại được. Anyway, thanks 4 ur help.
     
  4. thyphuong2901

    thyphuong2901 Youtube Master Race

    Tham gia ngày:
    9/10/07
    Bài viết:
    19
    Cho mình hỏi thêm là có thể dùng Javascript để visible một asp control mà đã set visible="false" không?
     
  5. Alien7

    Alien7 Guest

    Tham gia ngày:
    3/4/08
    Bài viết:
    158
    Không được vì Visible asp control nó sẽ không render ra html đâu.
    Bạn cũng ko cần bê nguyên đoạn code vô onclick làm gì:
    Return.Attributes.Add("OnClick", "Test('" + ReturnDateRow.ClientID + "')");

    function Test(id) {
    document.getElementById(id).style.visibility="hidden";
    }

    Chú ý là function chữ f viết thường. Có gì lên diễn đàn OpenIT.tk hỏi tớ cũng được :D. Tớ thường hay lên diễn đàn lập trình nhưng phần lớn là viết tiếng Anh thôi. Thấy dân IT VN ít dùng TA quá.
     
  6. thyphuong2901

    thyphuong2901 Youtube Master Race

    Tham gia ngày:
    9/10/07
    Bài viết:
    19
    Vấn đề của mình là đặt vé máy bay. Khi chọn radio button là one way thì kô có gì, nhưng khi chọn radio return thì 1 table row(asp control default visible="false") sẽ hiện ra(Table row chứa 1 textbox nhập return day).Mặc định lúc đầu mình muốn table row này ẩn đi. Đã thử

    ReturnDateRow.Attributes.Add("OnLoad","getID rồi set hidden")

    Nhưng hình như kô có tác dụng

    Btw, reg nick 4rum kia rồi nhưng h như chưa nhìu topic :)
     
  7. Alien7

    Alien7 Guest

    Tham gia ngày:
    3/4/08
    Bài viết:
    158
    Nếu bạn chỉ ẩn với hiện thì dùng asp control làm gì. Cứ style.display = 'none' ẩn hay style.display = '' nó hiện ra thôi.
    <tr style="display:none"></tr>

    Mình chỉ biết nhiêu đó nên chỉ mở mấy mục đó thôi. Bận đi làm nên chưa publish diễn đàn. Nhưng nếu ai post bài hỏi thì tớ vẫn ưu tiên trả lời :D.
     
  8. thyphuong2901

    thyphuong2901 Youtube Master Race

    Tham gia ngày:
    9/10/07
    Bài viết:
    19
    Nhưng mình tạo là asp table nên bắt buộc là asp cell. Sẵn đây cho mình hỏi sự khác biệt giữa asp control và html control runat server đc kô?
     
  9. Alien7

    Alien7 Guest

    Tham gia ngày:
    3/4/08
    Bài viết:
    158
    Không khác nhau lắm, nhưng asp table thì cao cấp hơn, có nhiều hàm và property hơn. Do đó nếu bạn ko cần dùng những thuộc tính đó thì cứ sài thẻ table cho nhẹ. Thường hiếm khi người ta sài asp table lắm.
     

Chia sẻ trang này