1 00:00:00,000 --> 00:00:00,380 2 00:00:00,380 --> 00:00:03,000 >> ΟΜΙΛΗΤΗΣ 1: Τώρα, σε αυτό το τελευταίο παράδειγμα, Υπενθυμίζω ότι έχουμε κάποιες διάσπαρτες 3 00:00:03,000 --> 00:00:07,170 JavaScript κώδικα HTML μέσα μου, Συγκεκριμένα, στο εσωτερικό της αξίας 4 00:00:07,170 --> 00:00:10,460 το χαρακτηριστικό που ονομάζεται On Υποβολή για αυτή την ετικέτα μορφή. 5 00:00:10,460 --> 00:00:12,850 Τώρα για τις μικρές σελίδες, αυτό Δεν είναι μια τέτοια μεγάλη υπόθεση. 6 00:00:12,850 --> 00:00:15,950 Αλλά, όπως μια ιστοσελίδα παίρνει πλέον και περισσότερο πολύπλοκο, απλά βάζοντας σας 7 00:00:15,950 --> 00:00:19,660 JavaScript κώδικα εδώ και εκεί μέσα της αξίας των ιδιοτήτων δεν είναι η 8 00:00:19,660 --> 00:00:20,830 καλύτερο σχεδιασμό. 9 00:00:20,830 --> 00:00:23,440 Καλύτερα αν το βάλουμε έξω και τουλάχιστον το βάλετε μέσα από 10 00:00:23,440 --> 00:00:25,200 η ετικέτα script κεντρικά. 11 00:00:25,200 --> 00:00:26,080 >> Πώς να το κάνουμε αυτό; 12 00:00:26,080 --> 00:00:30,040 Λοιπόν ας επιστρέψουμε στη φόρμα tag μου και πρώτα να διαγράψετε αυτό το χαρακτηριστικό και της 13 00:00:30,040 --> 00:00:31,780 αξία συνολικά. 14 00:00:31,780 --> 00:00:35,730 Στη συνέχεια, εδώ, παρά για να ορίσετε μια λειτουργία που ονομάζεται Greet, ας κρεμάσει 15 00:00:35,730 --> 00:00:39,405 στη γραμμή του κώδικα που, τελικά, θα θα εξακολουθούν να θέλουν να εκτελέσει και να αντικαταστήσετε 16 00:00:39,405 --> 00:00:41,560 η λειτουργία Greet ως εξής. 17 00:00:41,560 --> 00:00:48,190 Document.get στοιχείο με id παραθέσω unquote demo - 18 00:00:48,190 --> 00:00:52,410 όπου demo, ανάκληση, είναι ο μοναδικός αναγνωριστικό για την ίδια μορφή - 19 00:00:52,410 --> 00:00:56,600 dot για να υποβάλει, η οποία να ανακαλέσετε το όνομα του χειρισμού συμβάντων στο οποίο 20 00:00:56,600 --> 00:00:57,710 μας ενδιαφέρει. 21 00:00:57,710 --> 00:01:01,990 Και ας ορίσετε ότι για να υποβάλουν χειρισμού η τιμή που είναι στην πραγματικότητα ένα 22 00:01:01,990 --> 00:01:03,740 λειτουργούν το ίδιο. 23 00:01:03,740 --> 00:01:06,390 >> Τώρα παρατηρήσετε ότι δεν είμαι πραγματικά καλώντας μια συνάρτηση εδώ. 24 00:01:06,390 --> 00:01:10,650 Είμαι αντί να ορίζει ένα ανώνυμο, αλλιώς γνωστή ως μια συνάρτηση λάμδα, 25 00:01:10,650 --> 00:01:14,100 καθορίζοντας μεταξύ αυτών άγκιστρα ένα μάτσο κώδικα που θα πρέπει να 26 00:01:14,100 --> 00:01:15,490 στην πραγματικότητα να εκτελεστεί. 27 00:01:15,490 --> 00:01:18,500 Συγκεκριμένα, ο κώδικας που θα ήθελα να εκτελέσει είναι ότι η γραμμή που είχα 28 00:01:18,500 --> 00:01:23,370 πριν, και τότε ας προσθέσει ότι return false, έτσι ώστε αυτή η μορφή δεν είναι 29 00:01:23,370 --> 00:01:26,950 υπέβαλε τελικά να τελειώσει απομακρυσμένο web διακομιστή με τον παραδοσιακό τρόπο. 30 00:01:26,950 --> 00:01:30,345 >> Ας τώρα να αποθηκεύσετε αυτό το αρχείο, να το ανοίξουμε σε ένα πρόγραμμα περιήγησης, και να δούμε τι θα συμβεί. 31 00:01:30,345 --> 00:01:33,050 32 00:01:33,050 --> 00:01:39,800 http://localhost/dom-1.html. 33 00:01:39,800 --> 00:01:43,060 Ας τώρα να πληκτρολογήσουν το όνομά μου, David, Υποβολή. 34 00:01:43,060 --> 00:01:46,900 Και τίποτα δεν φαίνεται να συνέβη εκτός από το URL της σελίδας μου φαίνεται να 35 00:01:46,900 --> 00:01:52,580 έχουν αλλάξει, όπως κι αν η μορφή ήταν πράγματι υποβλήθηκε στο ίδιο αρχείο. 36 00:01:52,580 --> 00:01:53,870 >> Τώρα γιατί θα μπορούσε να είναι; 37 00:01:53,870 --> 00:01:55,340 Καλά Χρειάζομαι περισσότερες πληροφορίες. 38 00:01:55,340 --> 00:01:58,700 Ας πάμε μπροστά και να ανοίξει του Chrome Εργαλεία για προγραμματιστές έτσι ώστε να μπορώ πραγματικά 39 00:01:58,700 --> 00:02:01,440 δείτε το παράθυρο της κονσόλας για να δείτε αν έχω κάνει κάτι λάθος. 40 00:02:01,440 --> 00:02:03,330 Μπορώ να έχω πρόσβαση μέσω του ότι μια-δυο τρόπους. 41 00:02:03,330 --> 00:02:07,250 Ένα των οποίων είναι μέσω αυτού του μενού εδώ, Στη συνέχεια, στην περιοχή Εργαλεία, στη συνέχεια, σε 42 00:02:07,250 --> 00:02:08,509 Εργαλεία για προγραμματιστές. 43 00:02:08,509 --> 00:02:12,890 >> Και εδώ παρατηρούμε στην καρτέλα Console, υπάρχει ένας ασύλληπτος σφάλμα τύπου, δεν μπορεί να 44 00:02:12,890 --> 00:02:15,390 ορίσετε την ιδιότητα για να υποβάλουν από μηδενική. 45 00:02:15,390 --> 00:02:16,900 Τώρα γιατί θα μπορούσε να είναι; 46 00:02:16,900 --> 00:02:21,380 Λοιπόν, πίσω στο πηγαίο κώδικα μου εδώ, ανακοίνωση ότι για την υποβολή των πιστεύω ότι είναι μια 47 00:02:21,380 --> 00:02:25,360 ιδιότητα του στοιχείου του οποίου η μοναδικό αναγνωριστικό είναι demo. 48 00:02:25,360 --> 00:02:27,810 Ένα στοιχείο, και πάλι, είναι ακριβώς ένας κόμβος σε ένα δέντρο. 49 00:02:27,810 --> 00:02:30,870 >> Έτσι φαίνεται ότι ο φυλλομετρητής μου δεν Πιστεύω ότι αυτό το στοιχείο 50 00:02:30,870 --> 00:02:32,500 ή κόμβος υπάρχει ακόμα. 51 00:02:32,500 --> 00:02:33,790 Και πράγματι, αυτό δεν γίνεται. 52 00:02:33,790 --> 00:02:37,690 Θυμηθείτε ότι μια ιστοσελίδα αναλύεται ή να διαβάσετε από ένα πρόγραμμα περιήγησης στο web, πάνω προς τα κάτω, 53 00:02:37,690 --> 00:02:38,430 αριστερά προς τα δεξιά. 54 00:02:38,430 --> 00:02:41,810 Και έτσι όταν ο κώδικας JavaScript είναι που αντιμετωπίζουν, συνήθως, είναι εκτελεστεί 55 00:02:41,810 --> 00:02:42,700 αμέσως. 56 00:02:42,700 --> 00:02:46,460 >> Αλλά στην περίπτωση αυτή, δεν έχουμε πάρει ακόμη ακόμη το τμήμα της Dom, η 57 00:02:46,460 --> 00:02:51,100 HTML, στις οποίες η μορφή με ένα μοναδικό αναγνωριστικό demo έχει δηλωθεί. 58 00:02:51,100 --> 00:02:54,320 Και έτσι προσπαθούμε να εκτελέσει μου JavaScript κώδικα, πριν από αυτόν τον κόμβο ακόμη 59 00:02:54,320 --> 00:02:58,530 υπάρχει στο δέντρο οποία, φυσικά, είναι προβληματική, διότι τότε, σίγουρα, 60 00:02:58,530 --> 00:03:01,390 το ίδιο το στοιχείο θα είναι null εκείνη τη χρονική στιγμή. 61 00:03:01,390 --> 00:03:02,390 >> Λοιπόν, πώς να διορθώσετε; 62 00:03:02,390 --> 00:03:03,810 Λοιπόν έχουμε μια-δυο λύσεις. 63 00:03:03,810 --> 00:03:07,200 Αλλά ας προσπαθήσουμε το πιο απλό με την μετεγκατάσταση script tag μου από το κεφάλι 64 00:03:07,200 --> 00:03:11,560 ετικέτα στο σώμα μου, αλλά, συγκεκριμένα, προς το κάτω μέρος του σώματος της σελίδας μου τόσο 65 00:03:11,560 --> 00:03:14,170 ότι είναι κάτω από τους κόμβους και ερωτήσεις. 66 00:03:14,170 --> 00:03:19,930 Συγκεκριμένα, ας επισημάνω και να μειώσει η ανοικτή ετικέτα και ετικέτα κλεισίματος για το σενάριο 67 00:03:19,930 --> 00:03:24,720 και να το μεταφέρει όλο αυτό το μπλοκ του κώδικα στο κάτω μέρος του αρχείου εδώ. 68 00:03:24,720 --> 00:03:27,690 >> Τώρα αυτό δεν είναι απαραιτήτως η καθαρότερη σχεδιασμό, αλλά τουλάχιστον θα 69 00:03:27,690 --> 00:03:29,530 επιβάλλουν την σωστή σειρά των ενεργειών. 70 00:03:29,530 --> 00:03:31,495 Ας αποθηκεύσετε το αρχείο και reload στον browser μου. 71 00:03:31,495 --> 00:03:34,620 72 00:03:34,620 --> 00:03:40,240 Ας επαναλάβετε τη φόρτωση της σελίδας, η εκ νέου εισαγωγή του ονόματος μου, και εκεί, Hello David είναι πίσω. 73 00:03:40,240 --> 00:03:42,784