Acrobase  

Καλώς ήρθατε στην AcroBase.
Δείτε εδώ τα πιο πρόσφατα μηνύματα από όλες τις περιοχές συζητήσεων, καθώς και όλες τις υπηρεσίες της AcroBase.
H εγγραφή σας είναι γρήγορη και εύκολη.

Επιστροφή   Acrobase > Υπολογιστές και Τεχνολογία > Πληροφορική και Επικοινωνία
Ομάδες (Groups) Τοίχος Άρθρα acrobase.org Ημερολόγιο Φωτογραφίες Στατιστικά

Notices

Δεν έχετε δημιουργήσει όνομα χρήστη στην Acrobase.
Μπορείτε να το δημιουργήσετε εδώ

Απάντηση στο θέμα
 
Εργαλεία Θεμάτων Τρόποι εμφάνισης
  #1  
Παλιά 04-05-11, 18:17
Το avatar του χρήστη Morgul
Morgul Ο χρήστης Morgul δεν είναι συνδεδεμένος
Άσωτος διαχειριστής
 

Τελευταία φορά Online: 26-03-22 20:02
Φύλο: Δεν έχω αποφασίσει ακόμα
Προσθήκη σε Query String με JavaScript

Επειδή κάποιος ρώτησε πώς γίνεται αυτό, να μια γρήγορη (αλλά κάπως άκομψη) λύση:

Κώδικας:
function addQueryString(linkId, tids){
    var el = document.getElementById(linkId);
    var qsa = tids.join(',');
    if (el) {
       var href = el.attributes['href'].value;
       // Adjust the HREF attribute.
       if (href.indexOf('?') < 0) {
           // Simple: just add a QS
           href = href + '?something=' + qsa;
       } else {
           // QS exists, update.
           if (href.indexOf('something=') < 0) {
               // Something doesn't exist, add it.
               href = href + '&something=' + qsa;
           } else {
               // Something exists, add to it.
               href = href.replace(/something=/, 'something=' + qsa + ',');
           }
       }
       el.attributes['href'].value = href;
    }
}
Η συνάρτηση βρίσκει το DOM node με ID linkId, και αλλάζει το href attribute του προσθέτοντας τις comma-separated τιμές του array tids στο Query String, κάτω από το κλειδί «something».

Πχ, αν έχουμε το εξής DOM node:

Κώδικας:
< a id="foo" href="http://www.acrobase.gr/find_users.php?something=A">...< /a>
Και εκτελέσουμε αυτό:

Κώδικας:
addQueryString('foo', ['H', 'I', 'Q', 1, 2, 4, 42]);
Θα αλλάξουμε το node σε:

Κώδικας:
< a id="foo" href="http://www.acrobase.gr/find_users.php?something=H,I,Q,1,2,4,42,A">...< /a>
Μέρος της ασχήμιας της συνάρτησης (πέρα απ'το ότι είναι γραμμένη σε JavaScript) είναι το ότι ξέρει τι να κάνει σε περιπτώσεις που το href δεν έχει query string, ή σε περιπτώσεις που το something λείπει τελείως (αλλά υπάρχει query string).

Το «something» είναι hardwired στη συνάρτηση· μπορείτε να το αλλάξετε σε κάτι άλλο, πχ, startswith, add, rem, exclude, κλπ.
__________________
www.bedroomlan.org
Απάντηση με παράθεση
  #2  
Παλιά 04-05-11, 22:57
avel Ο χρήστης avel δεν είναι συνδεδεμένος
Mέλος
 

Φύλο: Δεν έχω αποφασίσει ακόμα
Αυτό το jquery plugin παρέχει ένα "query" object, ίσως να είναι πιο κομψό, και σίγουρα παρέχει περισσότερες functions.

Ορίστε και μία σχετική ερώτηση στο Stack Overflow. Εξαιρετικό site αυτό το Stack Overflow, btw.
Απάντηση με παράθεση
  #3  
Παλιά 05-05-11, 00:10
Το avatar του χρήστη Morgul
Morgul Ο χρήστης Morgul δεν είναι συνδεδεμένος
Άσωτος διαχειριστής
 

Τελευταία φορά Online: 26-03-22 20:02
Φύλο: Δεν έχω αποφασίσει ακόμα
Α ναι, ξέχασα να αναφέρω ότι η συγκεκριμένη ερώτηση ζητούσε λύση συγκεκριμένα χωρίς jQuery, Prototype ή άλλο toolkit. Και η χύμα JavaScript είναι τόσο βρώμικη...
__________________
www.bedroomlan.org
Απάντηση με παράθεση
  #4  
Παλιά 05-05-11, 09:17
Το avatar του χρήστη Morgul
Morgul Ο χρήστης Morgul δεν είναι συνδεδεμένος
Άσωτος διαχειριστής
 

Τελευταία φορά Online: 26-03-22 20:02
Φύλο: Δεν έχω αποφασίσει ακόμα
Πάντως με jQuery και Prototype κλπ, η πίκρα της JavaScript περιορίζεται τόσο πολύ που αρχίζεις να νομίζεις ότι είναι μια χαρά γλώσσα τελικά. Φυσικά χρειάζεσαι και FireBug, αλλιώς δε σε σώζει τίποτα.
__________________
www.bedroomlan.org
Απάντηση με παράθεση
  #5  
Παλιά 05-05-11, 21:10
avel Ο χρήστης avel δεν είναι συνδεδεμένος
Mέλος
 

Φύλο: Δεν έχω αποφασίσει ακόμα
Αρχική Δημοσίευση από Morgul Εμφάνιση μηνυμάτων
Πάντως με jQuery και Prototype κλπ, η πίκρα της JavaScript περιορίζεται τόσο πολύ που αρχίζεις να νομίζεις ότι είναι μια χαρά γλώσσα τελικά.
Περιορίζονται σίγουρα πολύ τα browser inconsistencies που είναι συχνά μεγάλος πονοκέφαλος, και πράγματα όπως το XHR, τα events ή το DOM manipulation με selectors γίνεται παιχνιδάκι.

Επίσης βοηθάνε τρομερά οι διάφορες βιβλιοθήκες που παρέχουν widgets, animations κ.λπ. (jqueryUI, jquerymobile, YUI και εκατοντάδες άλλες)

Κατά τ'άλλα, ωστόσο, η Javascript είναι μια χαρά γλώσσα. Έχει ένα θέμα με την classes / object oriented κατεύθυνση που πήγαν να της δώσουν, αλλά έτσι και εμπεδώσεις την prototypical φύση της, θα την αγαπήσεις[1].

[1] Καλά, ίσως όχι εσύ[2] συγκεκριμένα, αλλά ο μέσος προγραμματιστής οποιασδήποτε άλλης γλώσσας ή περιβάλλοντος.

[2] Τα θυμάμαι τα βίτσια σου με κάτι LISP και τέτοια, γι'αυτό το λέω.
Απάντηση με παράθεση
Απάντηση στο θέμα


Συνδεδεμένοι χρήστες που διαβάζουν αυτό το θέμα: 1 (0 μέλη και 1 επισκέπτες)
 
Εργαλεία Θεμάτων
Τρόποι εμφάνισης

Δικαιώματα - Επιλογές
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is σε λειτουργία
Τα Smilies είναι σε λειτουργία
Ο κώδικας [IMG] είναι σε λειτουργία
Ο κώδικας HTML είναι σε λειτουργία

Που θέλετε να σας πάμε;


Όλες οι ώρες είναι GMT +3. Η ώρα τώρα είναι 22:57.



Forum engine powered by : vBulletin Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.