Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Javascript και asp.net. Δεν επιστρέφει το getElementId το id του control

Îåêßíçóå áðü ôï ìÝëïò epp1123. Τελευταία δημοσίευση από το μέλος George J. Capnias στις 19-08-2008, 17:58. Υπάρχουν 4 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  19-08-2008, 13:40 44157

    Javascript και asp.net. Δεν επιστρέφει το getElementId το id του control

    Καλησπέρα καλησπέρα. Εύχομαι να είστε καλά. Έχουμε και λέμε. Χρησιμοποιώ 5 <asp:Image> μέσα σε μία σελίδα. Τα 4 μικρά  σε μέγεθος και το 5ο μεγάλο. Θέλω όταν περνάει το ποντίκι πάνω από ένα μικρό, να φορτώνει η φωτογραφία που έχει στο μεγάλο. Παίρνω και εγώ το attribute, κάνω ένα add, γράφω  και το javascript (καλά λεγόνταν livescript, τι ήθελαν και το άλλαξαν), αλλά ποτέ δε παίρνω το id του control. Εάν βάλω alert μέσα στο function μου εμφανίζει το  "objectHTMLImageElement". 2 ώρες το παλεύω και όλο σκουντουφλάω. Σας δίνω και τον κώδικα για να ξέρετε και τι γίνεται.

    1
    2
    3
    4
      Photo2.Attributes.Add("onmouseover", "changeImage(document.getElementById('ctl00_MaintableRoundPanel_ContentPlaceHolder_CarTabs_FotografiesRoundPanel_Photo2'))")
    Photo3.Attributes.Add("onmouseover", "changeImage(document.getElementById('ctl00_MaintableRoundPanel_ContentPlaceHolder_CarTabs_FotografiesRoundPanel_Photo3'))")
    Photo4.Attributes.Add("onmouseover", "changeImage(document.getElementById('ctl00_MaintableRoundPanel_ContentPlaceHolder_CarTabs_FotografiesRoundPanel_Photo4'))")
    Photo5.Attributes.Add("onmouseover", "changeImage(document.getElementById('ctl00_MaintableRoundPanel_ContentPlaceHolder_CarTabs_FotografiesRoundPanel_Photo5'))")

    και το javascript

    function changeImage(control)
    {
    ctl00_MaintableRoundPanel_ContentPlaceHolder_CarTabs_FotografiesRoundPanel_Photo1.src = control.src;
    }


    Ευυυχαριστώ!

  •  19-08-2008, 14:35 44159 σε απάντηση της 44157

    Απ: Javascript και asp.net. Δεν επιστρέφει το getElementId το id του control

    Τελικά είμαι και πολύ μπουμπούνας. Τόση ώρα το αντιμετωπίζω εντελώς λάθος. Σαν όρισμα της συνάρτησης δεν χρειάζεται να βάλουμε το getElementByID() μιας και η μέθοδος μας δίνει απευθείας reference στο αντικείμενο. Αυτό που έπρεπε να γράψω είναι  το  changeImage(document.getElementById('ctl00_MaintableRoundPanel_ContentPlaceHolder_CarTabs_FotografiesRoundPanel_Photo2').src για να πάρω το path της εικόνας.

    Μου φαίνεται πολύ καιρό έχω να γράψω javascript.
  •  19-08-2008, 16:47 44162 σε απάντηση της 44159

    Απ: Javascript και asp.net. Δεν επιστρέφει το getElementId το id του control

    Θα μπορούσες να το κάνεις ποιο απλά ακόμα:

    • Αν υποθέσουμε ότι τα οι 4 μικρές φωτογραφίες παραμένουν asp:image controls, αλλά η μεγάλη γίνεται ένα html img control με id="previewImg", θα μπορούσες σε κάθε μικρή φωτογραφία να βάλεις ένα attribute στο onmouseover="previewImage(this)"
    • Αν ορίσεις και το Javascript function:
      • function previewImage(imgControl){
            var previewImage = document.getElementById("previewImg");
            previewImage.src = imgControl.src;
        }
    • Δεν έχει άλλο, τελείωσε... Big Smile

    George J.


    George J. Capnias: Χειροπρακτικός Υπολογιστών, Ύψιστος Γκουράρχης της Κουμπουτερολογίας
    w: capnias.org, t: @gcapnias, l: gr.linkedin.com/in/gcapnias
    dotNETZone.gr News
  •  19-08-2008, 17:41 44165 σε απάντηση της 44162

    Απ: Javascript και asp.net. Δεν επιστρέφει το getElementId το id του control

    Σωστό και αυτό. Είπα να πάρω το δύσκολο δρόμο για να μάθωStick out tongue Θα το έχω υπόψιν μου πάντως. Ερώτηση, με το this δε θα μπερδευτεί όταν αλλάξει το όνομα του control στον client?? Δηλαδή γίνει από Image1 σε "ctl00_MaintableRoundPanel_ContentPlaceHolde κτλ κτλ"

    Ευχαριστώ
  •  19-08-2008, 17:58 44168 σε απάντηση της 44165

    Απ: Javascript και asp.net. Δεν επιστρέφει το getElementId το id του control

    Με το this, περνάς ένα Javascript runtime reference του html control object που έχει γίνει rendered στο browser.

    Το id που αναφέρεις είναι property μέσα σε αυτό το object - αλλά το id αλλάζει συνεχώς, χωρίς υποσχέσεις ότι θα είναι το ίδιο την επόμενη φορά που θα γίνει render το control.

     

    George J.


    George J. Capnias: Χειροπρακτικός Υπολογιστών, Ύψιστος Γκουράρχης της Κουμπουτερολογίας
    w: capnias.org, t: @gcapnias, l: gr.linkedin.com/in/gcapnias
    dotNETZone.gr News
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems