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

 

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

onkeypress

Îåêßíçóå áðü ôï ìÝëïò savvas1986. Τελευταία δημοσίευση από το μέλος Τάσκος Γιώργος στις 10-03-2009, 09:53. Υπάρχουν 9 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  06-03-2009, 16:01 48957

    onkeypress

    Καλησπερα και παλι....
    Το νέο σφάλμα που μου προέκυψε έχει ως εξης. Έχω μια φόρμα στην οποία υπαρχουν καποιοι πίνακες και μερικά texboxes. Στο πρώτο textbox όταν ο χρήστης πληκτρολογήσει ένα όνομα ή τμήμα του ονόματος και πατήσει "enter" γίνεται αυτόματα μια αναζήτηση στη βάση και εμφανίζεται μια λίστα με τα αποτελέσματα. Το θέμα ειναι οτι απο οποιοδήποτε άλλο textbox και αν πατήσω "enter" ξαναγίνεται η ίδια διαδικασία. το onkeypress το έχω δηλώσει :
     <asp:TextBox ID="txtFolder" onkeypress="doKey(window.event.keyCode);" runat="server"  BackColor="ActiveBorder" ></asp:TextBox>

    και το dokey:

    function doKey($key) {
      if ($key == 13) {
                document.getElementById("hdFolderName").value = 1;
                document.form1.submit();
                openpopup();

    Σε όλα τα υπόλοιπα textboxes τα οποία έχουν άλλο ID αν πατήσω "enter" τρέχει ξανά το dokey... Τι μπορεί να συμβαίνει.? Έχω σπάσει απο το πρωί το κεφάλι μου...
  •  07-03-2009, 17:34 48977 σε απάντηση της 48957

    Απ: onkeypress

    γεια σου φιλε,

    αν και δεν ασχολουμε με ASP η λογικη ειναι η ιδια απλα στο IF na peis IF Key==13 AND textboxID="txtFolder" then ετσι θα τρεχει μονο στο συγκεκρημενο, τωρα πως ακριβως θα το γραψεις δεν ξερω,
    για σενα θα ειναι ευκολο, το ολο θεμα για να δουλεψει ειναι να ειναι μοναδικα τα ID Που δινεις στο textboxes. Λογικο ειναι αμα δεν ειναι μοναδικα και διαφορετικα να εκτελειτε το IF σου συννεχεια.

    Ελπιζω να καταλαβω σωστα τι θες να κανεις και να σου εδωσα μια απλη ιδεα το πως. sorry αλλα ι dont have xp with ASP.net.


    This Business Is Binary. You are a 1 or a 0. Alive or Dead.-
  •  09-03-2009, 10:22 49029 σε απάντηση της 48977

    Απ: onkeypress

    Καλημέρα φίλε Johnny  το θέμα είναι ότι και ξεχωτιστά ID έχει το κάθε textbox και το If είναι σωστά γραμμένο μέσα στο σωστό textbox... Το γιατί όμως μου το πιάνει to "enter" και στα άλλα textboxes είναι ένα αξιοπερίεργο... Τον κώδικά μου τον έδειξα και σε ένα φίλο μου ο οποίος έχει εμπειρία σε asp και πάλι δεν μπόρεσε να καταλάβει γιατί συμβαίνει αυτο... Ο λόγος που ρωτάω στο forum είναι μήπως υπάρχει κάποια ρύθμιση ή συγκεκριμάνη εντολή που μου το προξενεί και κάποιο απο τα μέλη τη γνωρίζει... Δεν μπορώ να σκεφτώ άλλο λόγο... :(
  •  09-03-2009, 10:37 49032 σε απάντηση της 49029

    Απ: onkeypress

    καστε λιγο,

    κοιτα ετσι οπως γραφεις τον κωδικα σου λες

    Αμα πατηθει κουμπι

    και το κουμπι ειναι το ΕΝΤΕΡ

    τοτε απο το Τεχτβοχ με ID="blabla"

    παρε το περιεχομαινο του και τελος παντον κανε κατι.

    εγω σου λεω μεσα στιν παρενθεση του IF Να βαλεις και ακομα ενα κριτηριο που θα ειναι το textbox me ID einai Focused/Selected ή εχει value τοτε παρε το κειμενο και κανε οτι θες. καπως ετσι...

    function doKey($key) {  if ($key == 13 AND document.getElementById("hdFolderName").value = 1) {
        document.form1.submit();
      openpopup();


    This Business Is Binary. You are a 1 or a 0. Alive or Dead.-
  •  09-03-2009, 11:23 49036 σε απάντηση της 49032

    Απ: onkeypress

    Λοιπόν βρήκα τι φταίει αλλα το θέμα είναι ότι δεν ξέρω πως να το διορθώσω... Ο κώδικας του onkeypress ειναι εντάξει δεν χρειάζεται το δεύτερο if αν και ήταν πολύ καλή πρόταση... Λοιπόν τί γινεται, εκτός των textboxes που έχω στη φόρμα έχω και ένα button- search το οποίο κάνει το ίδιο πράγμα που κάνει και το "enter" το θέμα λοιπόν ειναι οτι , μολις επιλέγο ενα textbox για να γραψω, επιλέγεται και το button (φαίνεται να γίνεται active) οπότε με το που πατάω το "enter" ουσιαστικα είναι σαν να πατάω και το button (στο οποίο τρέχει ένα onclientclick) . Όταν αφαιτώ το button όλα δουλεύουν ρολόι...  Πως λοιπον κάνω το button να μην είναι επιλεγμένο ?
  •  09-03-2009, 12:00 49038 σε απάντηση της 49036

    Απ: onkeypress

    Νομίζω πως κατι βρήκα εδω : http://support.microsoft.com/kb/813822 θα το δοκιμάσω και θα σας πω τα αποτελέσματα :D
  •  09-03-2009, 12:27 49040 σε απάντηση της 49038

    Απ: onkeypress

    Δυστυχώς δεν μου έλυσε το προβλημα... οπότε όλες οι συμβουλές ή προτάσεις είναι καλοδεχούμενες....
  •  09-03-2009, 16:59 49049 σε απάντηση της 49040

    Απ: onkeypress

    Το πρόβλημα το έλυσα με μια προσορινη " πατέντα" μέχρι να βρεθει ο απαραίτητος κώδικας για την επίλυσή του. Αυτό που έκανα είναι να βάλω στην αρχη της φόρμας μου  ενα button (1px επι 1px) (το οποίο ουσιαστικα δεν ειναι ορατο και το οποιο δεν τρέχει τπτ...) Οπότε με το που γίνεται "enter" στη σελίδα γίνεται κλικ και το buttonaki χωρίς όμως να τρεχει τπτ . Αυτα τα ολίγα.
  •  10-03-2009, 02:02 49061 σε απάντηση της 49049

    Απ: onkeypress

    Οκ αλλα ολα αυτα τα τεχνασματα γιατι δεν μπορουμε να κατευθηνουμε το focus στην ουσια?

    δεν  μπορει πως η google κανει default to TextBox της οταν εμφανιζεται η σελιδα και με το ENTER το κουμπι της πατιεται, μαλλον θελει να κοιταξεια κανα javascript να κολησεις, αν και πιστευω οτι σιγουρα γινεται καπως και με asp.net code.

    παντος αλλαζοντας στο τελος και το IF Οπως σου προτεινα καλω θα κανει γιατι δεν θα εκτελειται αδικα το IF και ας μην εκτελει παραμεσα τον κωδικα θα τον προσπελα καθως ετσι οπως ειναι τωρα παντα επιστρεψει true. 

    καλο ειναι τα IF να τα κανουμε οσο ποιο συγκεκριμενα ωστε να αποφευγονται "παρεενεργειες".

    goodluck


    This Business Is Binary. You are a 1 or a 0. Alive or Dead.-
  •  10-03-2009, 09:53 49063 σε απάντηση της 48957

    Απ: onkeypress

    Αυτό που ζητάς γίνεται με τον παρακάτω client javascript code:

    <script type="text/javascript">

        function document.onkeydown()
        {
            if(event.keyCode==13&&event.srcElement.tagName.toLowerCase()=="input")
            {
                return false;
            }
        }

     </script>

    Αυτό θα απενεργοποιήσει όλα τα textboxes της σελίδας. Βάλε ένα button να κάνεις την εργασία που θέλεις.

    Γίνεται επίσης ψάχνοντας όλα τα textboxes και βάζοντας Attributes.Add("onkeypress"( "if (event.keyCode==13) { return false }"), αλλά δεν συνιστάτε, ειδικά αν έχεις πολλά πάνω στην webform σου. Πολλές λύσεις για ASP.NET να κοιτάς φυσικά κι εδώ! Not tested...hope it works..


Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems