Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπέρα,

 

Στα πλαίσια μιας εργασίας που έχω, εχω φτιάξει μια σελίδα στην οποία κάποιος επεξεργάζεται τα δικαιώματα καποιων χρηστών. Του εμφανίζεται ενας πίνακας με τους χρήστες, και δίπλα στο όνομα τους υπάρχουν 3 checkboxes αναλογα με το δικαίωμα, ας πούμε read write execute. Οπότε θέλω επιλέγοντας κατάλληλα τα checkboxes να γινεται ενημέρωση των δικαιωμάτων στην βάση.

 

Όπως το σκέφτομαι, θα έχω μια form σε κάθε γραμμή που θα περιέχει τα 3 checkboxes και ενα hidden input με το id στον πίνακα με τα δικαιώματα, αλλά κολλάω στο πως θα ξερω για καθε submit σε καποια τυχαία γραμμή το ποια checkboxes εχουν πατηθεί, καθώς αν δεν εχουν πατηθέι δεν γινονται submit στο post.

Αν πατήσω δηλαδή read execute ή read write 2 τιμές θα παρει η post τις οποιες δεν θα μπορει να ξεχωρήσει σε ποιο δικαίωμα αναφέρονται.

 

Ευχαριστώ.

Δημοσ.

Δεδομένο είναι ότι πριν δώσει ο server τη φόρμα, ελέγχονται τα δικαιώματα του αρχείου και "τικάρονται" από πριν τα ανάλογα checkboxes. Π.χ. για δικαιώματα 755 θα πρέπει να είναι τικαρισμένα όλα τα checkboxes για τον ιδιοκτήτη και τα read/execute για το group και κάθε άλλον. Δε στέλνεις χύμα μια άδεια φόρμα κι ό,τι γίνει έγινε.

 

Εννοείται κάθε ένα από τα 9 checkboxes έχει δικό του ID, π.χ. "UR" για user, read και "GX" για group, execute.

 

Αυτό που ρωτάς (πως θα "καταλάβεις" ποια checkboxes είναι τικαρισμένα) έχει να κάνει με τη γλώσσα που χρησιμοποιείς, δεν είναι το ίδιο παντού. Στην PHP ας πούμε γίνεται πολύ εύκολα με την isset().

Δημοσ.

Java Servlets χρησιμοποιώ. Τώρα που το πες μου ρθε φλασιά. Αν διαβάσω μια παράμετρο και δεν εχει δοθεί να δώσει null, οπότε μπορω να το τσεκάρω έτσι. Ειχα κολλήσει με το γεγονός οτι στα checkboxes βαζουμε ιδιο name οταν τα ομαδοποιούμε, αλλα εδώ δεν χρειάζεται.

Δημοσ.

Δε γίνονται post αυτά που δεν έχουν value. Για το λόγο αυτό, μπορείς πριν από κάθε "κανονικό" chaeckbox να βάζεις και ένα hidden με το ίδιο όνομα και value 0. Αν δεν επιλεγεί το κανονικό, κάνει "fallback" στο πρώτο με το ίδιο όνομα με value 0. Έτσι, θα έχεις πάντα μια τιμή για τα checkboxes σου. Μια σημαντική λεπτομέρεια είναι ότι τα checkboxes πρέπει να τα δηλώνεις ως arrays, δηλ

><input type="checkbox" value="..." name="checkbox1[]" id="checkbox1[]">

Δημοσ.

Τα "συνδέεις" με αυτόν τον τρόπο και όποιο και από τα δύο έχει τιμή θα γίνεται submit, θα έχεις 0 ή 1 στο post και όχι null.

Δημοσ.

Σε αλλη σελίδα που εχω πολλα checkboxes δεν εχω βαλει [] στο name, αλλα το όνομα είναι ίδιο παντού και πέρνω ενα String[] με τις τιμές τους. Απο οτι κατάλαβα αν δεν πατηθεί θα παρω {0} και αν πατηθεί {0,1} οπότε θα ξερω ακριβώς τι εχει πατηθεί και τι οχι.

Δημοσ.

Αν πατηθει θα παρεις 1, αν οχι 0. Επειδη ανα ζευγος εχουν ιδιο ονομα, πχ chk1[], chk2[] κλπ, στο post θα παρεις το value εκεινων που εχουν τιμη, αλλα μονο του τελευταιου που εχει τιμη απο καθε ζευγος.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...