Εστίαση στο πρώτο πεδίο της σελίδας

Ερωτήσεις και απαντήσεις σχετικές με την HTML, XHTML και την κατασκευή σελίδων για το Web.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
panos78
Δημοσιεύσεις: 535
Εγγραφή: 15 Φεβ 2003 02:14
Τοποθεσία: Θεσσαλονικη
Επικοινωνία:

Εστίαση στο πρώτο πεδίο της σελίδας

Δημοσίευση από panos78 » 10 Δεκ 2005 15:04

Μπορεί κάποιος να μου πει τι κώδικας χρειάζεται για να γίνεται αυτόματα εστίαση στο πρώτο πεδίο που θα εμφανίζεται στην ιστοσελίδα;
:)
Εν οίδα ότι ουδέν οίδα.
Η Μακεδονία είναι Ελλάδα.
Εικόνα

Άβαταρ μέλους
Basilakis
PHP Moderator
Δημοσιεύσεις: 8574
Εγγραφή: 17 Νοέμ 2003 13:03
Τοποθεσία: Womans' Brain
Επικοινωνία:

Εστίαση στο πρώτο πεδίο της σελίδας

Δημοσίευση από Basilakis » 10 Δεκ 2005 15:32

Να σου πώ την αλήθεια για να σου απαντήσω(ουμε) πρέπει να καταλάβω(ουμε) τι ακριβώς ενωείς. Και δυστυχώς εγώ δεν το έπιασα! Τι ακριβώς είναι αυτό που ζητάς
;

Άβαταρ μέλους
panos78
Δημοσιεύσεις: 535
Εγγραφή: 15 Φεβ 2003 02:14
Τοποθεσία: Θεσσαλονικη
Επικοινωνία:

Εστίαση στο πρώτο πεδίο της σελίδας

Δημοσίευση από panos78 » 10 Δεκ 2005 15:37

Παράδειγμα:
Όταν ανοίγουμε την σελίδα του Google,
ο δρομέας βρίσκεται ήδη μέσα στο πεδίο που γράφουμε τις λέξεις για την αναζήτηση.
Κάτι τέτοιο θέλω να γίνεται αλλά δεν γνωρίζω τον κώδικα για να το κάνω.
:)
Εν οίδα ότι ουδέν οίδα.
Η Μακεδονία είναι Ελλάδα.
Εικόνα

Άβαταρ μέλους
Basilakis
PHP Moderator
Δημοσιεύσεις: 8574
Εγγραφή: 17 Νοέμ 2003 13:03
Τοποθεσία: Womans' Brain
Επικοινωνία:

Εστίαση στο πρώτο πεδίο της σελίδας

Δημοσίευση από Basilakis » 10 Δεκ 2005 16:12

apothikefse thn selida tou google kai den ti paizei mesa sto form h mesa sto textbox! :hammer:

Άβαταρ μέλους
panos78
Δημοσιεύσεις: 535
Εγγραφή: 15 Φεβ 2003 02:14
Τοποθεσία: Θεσσαλονικη
Επικοινωνία:

Εστίαση στο πρώτο πεδίο της σελίδας

Δημοσίευση από panos78 » 10 Δεκ 2005 16:23

To έκανα αλλά δεν έβγαλα άκρη!
Αν ήταν τόσο εύκολο, θα το είχα λύσει!;)
:)
Εν οίδα ότι ουδέν οίδα.
Η Μακεδονία είναι Ελλάδα.
Εικόνα

Άβαταρ μέλους
patriot
Honorary Member
Δημοσιεύσεις: 1590
Εγγραφή: 20 Αύγ 2002 19:21
Τοποθεσία: Σπίτι μου!

Εστίαση στο πρώτο πεδίο της σελίδας

Δημοσίευση από patriot » 10 Δεκ 2005 19:24

Είχα ένα παρόμοιο πρόβλημα κάποτε και βρήκα έναν κώδικα αλλά μετά έπαθα ένα crash και τον έχασα. Μετά ξέχασα να τον ξαναβρώ αλλά τώρα που μου το υπενθύμισες θα ψάξω ξανά. Απλά περίμενε λίγο....
1) Για όποιον γράφει με πολυτονικά....
2) Καλά ακόμα να συνηθίσετε την ιδέα ότι δεν γράφουμε ούτε με greeklish ούτε με κεφαλαία;

Άβαταρ μέλους
patriot
Honorary Member
Δημοσιεύσεις: 1590
Εγγραφή: 20 Αύγ 2002 19:21
Τοποθεσία: Σπίτι μου!

Εστίαση στο πρώτο πεδίο της σελίδας

Δημοσίευση από patriot » 10 Δεκ 2005 20:33

Νάτο!!! Θα το βρεις σε αυτήν την σελίδα! Εκεί το είχα βρει και την άλλη φορά αλλά δεν είχα συγκρατήσει το url (αλλά και να το είχα, θα είχε χαθεί στο crash. :evil: )

Άντε μεγιά!! :victory:
1) Για όποιον γράφει με πολυτονικά....
2) Καλά ακόμα να συνηθίσετε την ιδέα ότι δεν γράφουμε ούτε με greeklish ούτε με κεφαλαία;

Άβαταρ μέλους
panos78
Δημοσιεύσεις: 535
Εγγραφή: 15 Φεβ 2003 02:14
Τοποθεσία: Θεσσαλονικη
Επικοινωνία:

Εστίαση στο πρώτο πεδίο της σελίδας

Δημοσίευση από panos78 » 10 Δεκ 2005 22:52

Ευχαριστώ για την βοήθεια.
Θα το δοκιμάσω
:)
Εν οίδα ότι ουδέν οίδα.
Η Μακεδονία είναι Ελλάδα.
Εικόνα

Άβαταρ μέλους
Basilakis
PHP Moderator
Δημοσιεύσεις: 8574
Εγγραφή: 17 Νοέμ 2003 13:03
Τοποθεσία: Womans' Brain
Επικοινωνία:

Εστίαση στο πρώτο πεδίο της σελίδας

Δημοσίευση από Basilakis » 11 Δεκ 2005 17:20

Ase afto afta ta crash einai katastrofh. Kai egw thn epatha alla eftixws krata ena backup se cd(kai afthn thn fora o vlakas den eixa) kai ena online pou eftixws eixa. Na einai kala to hosting mas.!

Άβαταρ μέλους
cherouvim
Script Master
Δημοσιεύσεις: 3137
Εγγραφή: 13 Ιούλ 2005 22:56
Τοποθεσία: Athens, Greece
Επικοινωνία:

Εστίαση στο πρώτο πεδίο της σελίδας

Δημοσίευση από cherouvim » 12 Δεκ 2005 08:24

Κώδικας: Επιλογή όλων

var inputs=document.getElementsByTagName('input');
for&#40;var i=0; i<inputs.length; i++&#41; &#123;
 if &#40;inputs&#91;i&#93;.getAttribute&#40;'type'&#41;=='text'&#41; &#123;
   inputs&#91;i&#93;.focus&#40;&#41;;
   return;
 &#125;
&#125;
Auti einai mia pithani lysi. An de doulepsei tha eho kanei kana lathaki giati to egrapsa katefthian sto reply.

Άβαταρ μέλους
iffor
Δημοσιεύσεις: 778
Εγγραφή: 14 Μάιος 2005 01:19
Τοποθεσία: Παράδεισος
Επικοινωνία:

Εστίαση στο πρώτο πεδίο της σελίδας

Δημοσίευση από iffor » 12 Δεκ 2005 09:38

ωραίος ο cherouvim!
σωστά το έκανες reply, dont worry!!!
και το καλύτερο είναι ότι "τρέχει" και σε FF!
το λέω αυτό γιατί το παράδειγμα του simplythebest.net, δυστυχώς, είναι μόνο
για IE...
Καλημέρα σας!
μια νέα αρχή ξεκίνησε...
ένας καινούριος δρόμος άνοιξε...
redpanda.gr

Άβαταρ μέλους
cherouvim
Script Master
Δημοσιεύσεις: 3137
Εγγραφή: 13 Ιούλ 2005 22:56
Τοποθεσία: Athens, Greece
Επικοινωνία:

Εστίαση στο πρώτο πεδίο της σελίδας

Δημοσίευση από cherouvim » 12 Δεκ 2005 12:32

Diorthosi:

Κώδικας: Επιλογή όλων

focusForm = function&#40;&#41; &#123;
    var inputs = document.getElementsByTagName&#40;"input"&#41;;
    for&#40;var i = 0, length = inputs.length; i < length; i++&#41; &#123;
        if &#40;&#40;inputs&#91;i&#93;.getAttribute&#40;"type"&#41;&#41;=="text" && !inputs&#91;i&#93;.disabled&#41; &#123;
            inputs&#91;i&#93;.focus&#40;&#41;;
            return;
        &#125;
    &#125;
&#125;



window.onload = function&#40;&#41; &#123;
    if&#40;document.getElementById && document.createTextNode&#41; &#123;
    	focusForm&#40;&#41;;
    &#125;
&#125;
Etsi oste na ektelestei ean kai efoson o browser ypostirizei aftes tis functions, kai episis na ginei focus to proto input me type='text' to opio *den* einai disabled, giati se periptosi pou einai tha ehoume javascript error.

Telos ekana elafros pio grigoro to iteration ton inputs mesa sto loop me to na vgalo to inputs.length se ena variable. Den eimai sigouros an ontos einai kalo afto giati mporei to array by default na kouvalaei mazi tou tin .length. O skeftomilos isos einai pio armodios na mas pei!

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

Εστίαση στο πρώτο πεδίο της σελίδας

Δημοσίευση από skeftomilos » 13 Δεκ 2005 06:31

@Cherouvim: Πολύ καλά έκανες και φρόντισες για την performance του loop, υπάρχει όντως πρόβλημα με τις DOM collections: Efficient JavaScript code. Στο άρθρο αυτό προτείνεται κι ένας άλλος τρόπος:

Κώδικας: Επιλογή όλων

for &#40;var i = 0, element; element = inputs&#91;i&#93;; i++&#41; &#123;
Αν και φαίνεται κάπως μπερδεμένος είναι πιο σύντομος, και επιπλέον η μεταβλητή element συνήθως χρειάζεται έτσι κι αλλιώς μέσα στο loop.

Οι DOM συλλογές μοιάζουν με arrays αλλά δεν είναι ακριβώς. Επιτρέπεται η σύνταξη inputs που είναι μια συντόμευση της επίσης έγκυρης inputs.item(i) που κάνει πιο φανερή τη διαφορά.

Το script νομίζω πως παραλείπει μία περίπτωση, την περίπτωση να μην υπάρχει attribute type που είναι προαιρετικό για τα text fields. Στην περίπτωση αυτή o Firefox επιστρέφει null ως τιμή της getAttribute("type"). Αλλά τα DOM αντικείμενα HTMLInputElement διαθέτουν την ιδιότητα type που επιστρέφει τη σωστή τιμή:

Κώδικας: Επιλογή όλων

function focusForm&#40;&#41; &#123;
  var inputs = document.getElementsByTagName&#40;'input'&#41;;
  for &#40;var i = 0, element; element = inputs&#91;i&#93;; i++&#41; &#123;
    if &#40;&#40;element.type == 'text'&#41; && !element.disabled&#41; &#123;
      element.focus&#40;&#41;;
      return;
    &#125;
  &#125;
&#125;
Κάτι άλλο...

Κώδικας: Επιλογή όλων

focusForm = function&#40;&#41; &#123;
VS

Κώδικας: Επιλογή όλων

function focusForm&#40;&#41; &#123;
Η πρώτη επιλογή είναι πιο περιοριστική. Η ρουτίνα δεν μπορεί να κληθεί πριν τη δήλωσή της, κάτι που επιτρέπεται στη δεύτερη περίπτωση.
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Άβαταρ μέλους
cherouvim
Script Master
Δημοσιεύσεις: 3137
Εγγραφή: 13 Ιούλ 2005 22:56
Τοποθεσία: Athens, Greece
Επικοινωνία:

Εστίαση στο πρώτο πεδίο της σελίδας

Δημοσίευση από cherouvim » 13 Δεκ 2005 07:29

Ωραία πράγματα!

Πολύ καλό και το .type, δεν το ήξερα.

Απάντηση

Επιστροφή στο “HTML και XHTML”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 2 επισκέπτες