Project

General

Profile

Σφάλματα #43

Ασκήσεις: το Enter να μην κάνει submit τη φόρμα

Added by Αλέξανδρος Διαμαντίδης over 12 years ago. Updated almost 11 years ago.

Status:
Επιλυμένο
Priority:
Χαμηλή
Assignee:
-
Target version:
-
Start date:
21/05/2012
Due date:
% Done:

100%

Estimated time:

Description

Κατά τη διάρκεια συμπλήρωσης μιας άσκησης, είναι πιθανόν να πατήσει κάποιος enter, το οποίο κάνει submit τη φόρμα, ακόμα και όταν δεν έχει τελειώσει. Θα πρέπει να το πιάνουμε με Javascript και είτε να το απενεργοποιήσουμε είτε να το κάνουμε να σε πηγαίνει στο επόμενο πεδίο.

History

#1

Updated by Yury Kherimyan almost 11 years ago

$(document).ready(function(){
    /* 
     * Make an array of possible inputs and everytime
     * ENTER is pressed, iterate to next availiable input
     * until you reach submit, when the form will be submited.
     */
    var inputs = $(this).find('.exercise input:not([type=hidden]), .exercise select');
    inputs.pivot = 0;
    $(inputs).keydown(function(event){
        if(event.which == 13){
            event.preventDefault();
            if($(this)[0].type != 'submit'){
                ++inputs.pivot;
                /*
                 * In order to avoid just going to next input, 
                 * iterate until you reach the next set of inputs.
                 */
                while(inputs[inputs.pivot].name == inputs[inputs.pivot-1].name)
                    inputs.pivot++;
                inputs[inputs.pivot].focus();
            } else {
                //Maybe some confirmation popup here
                $('.exercise').submit();
            }
        }
    });
    /*
     * When clicking on an input, pivot must point 
     * to the input clicked so when ENTER is pressed
     * will move to correct next input.
     */
    $(inputs).click(function(){
        pivot2 = 0;
        while(inputs[pivot2].name != $(this)[0].name)
            pivot2++;
        inputs[pivot2].select();
        inputs.pivot = pivot2;
    });
});

Επίσης στο αρχείο /modules/exercice/exercice_submit.php να προστεθεί στην form (line 248) η κλάση class='exercise'

Μπορείτε να το δείτε live εδώ: http://jsfiddle.net/zfBNE/64/

#2

Updated by Yury Kherimyan almost 11 years ago

  • Status changed from Νέα to Επιλυμένο
  • Assignee set to Yury Kherimyan
#3

Updated by Yury Kherimyan almost 11 years ago

  • Assignee deleted (Yury Kherimyan)
#4

Updated by Thanos Kyritsis almost 11 years ago

  • Status changed from Επιλυμένο to Νέα
  • Priority changed from Κανονική to Χαμηλή
  • Target version set to 3.0

Αν δεν απατώμαι, δεν έχουμε ενσωματώσει τη συγκεκριμένη λειτουργία ούτε στο eclass 2.8, ούτε στο 3.0. Ξανα-ανοίγω το issue με χαμηλή προτεραιότητα, στην 3.0 θα γίνουν σημαντικές διορθώσεις στο κομμάτι των ασκήσεων, αλλά μπορούμε να αφήσουμε το issue ανοιχτό ώστε κατά τις φάσεις του testing και του QA να σιγουρευτούμε πως η συγκεκριμένη λειτουργία έχει προστεθεί και λειτουργεί σωστά.

#5

Updated by Yury Kherimyan almost 11 years ago

Συγνώμη, το σήμανα επιλυμένο μόλις έκανα push το παραπάνω κομμάτι Javascript. Μετά είδα αυτά που έχουν προστεθεί στην wiki και δοκίμασα να στήσω το review board tools
αλλά δεν κατάφερα να συνδεθώ και να το κάνω να δουλέψει. Έστειλα σχετικό email σε Yannis Exidaridis , Alexandros Diamantidis, Costas Tsibanis που είχαμε νωρίτερα επικοινωνία.
Δεν βλέπω κάπου να αναφέρεται το email σου, άρα δεν μπορώ να σου προωθήσω ότι τους έστειλα. Αν θες μπορείς να μου στείλεις στο yurissudavar[@]gmail.com

#6

Updated by Thanos Kyritsis almost 11 years ago

Α, οκ, το φαντάστηκα πως κάτι τέτοιο συμβαίνει. Εντάξει, δεν πειράζει, μια χαρά. Μόλις έρθει και το commit/changeset το συνδέουμε και στο issue αυτό να φαίνεται και το κλείνουμε.

#7

Updated by Yury Kherimyan almost 11 years ago

  • Status changed from Νέα to Επιλυμένο
  • % Done changed from 0 to 100

Το σχετικό changeset: 6569:0c3420fd34d2 http://hg.gunet.gr/openeclass/rev/0c3420fd34d2

#8

Updated by Yury Kherimyan almost 11 years ago

Link για το σχετικό changeset: 0c3420fd34d2
Για να συνέδεα το commit με το issue έπρεπε στο commit message να γράψω #43 right?

#9

Updated by Thanos Kyritsis almost 11 years ago

  • Target version deleted (3.0)

Δεν πειράζει, αρκεί που φαίνεται εδώ στα comments, αν κάποια στιγμή στο μέλλον το ψάχνουμε, να μπορούμε να το βρούμε πιο εύκολα :)

Also available in: Atom PDF