Vasilis89 Δημοσ. 22 Νοεμβρίου 2008 Δημοσ. 22 Νοεμβρίου 2008 Έχω ένα πρόβλημα στην φορμα ajax που φτιάχνω. Με το enter kanei sumbit. Αυτό το πρόβλημα το ελυσα βαζοντας αφτο στο form tag: "return event.keyCode!=13", αυτο που θέλω όμως είναι να ξεκινα το function gia to ajax τιν ίδια στιγμή. Δοκίμασα αυτό "return event.keyCode!=13; function()", όμως δεν λειτουργεί ( το ξερα πριν καν το δοκιμάσω). Μπορεί να μου πεί καπιως πως είναι η σωστή σύνταξη? Το άλλο που προσπαθώ να κάνω είναι το "εφε" που εχει και στο facebook οταν στελνεις μυνηματα πχ, δηλαδη σκιαζετε όλη η σελίδα και πεταγετε ενα νέο πινακακι. Το να εμφανίζετε το πινακακι μου φενετε σχετικα ευκολο, αλλα πως σκιάζετε η υπολοιπη σελιδα? το mootools πρέπει να εχει καπια σχέση αλλα δεν εχω ιδέα τι είναι. Και μονο σχετικα tags θα με βοηθούσαν για να ψάξω. Τέλος αυτο που φτιάχνω θα είναι forum (λιγο διαφορετικο απο το κανονικο) με γενικό περιεχομενο. Εχει κανεις καμια ιδεα πως να χωρισο τις κατηγοριεσ?
fromaz Δημοσ. 22 Νοεμβρίου 2008 Δημοσ. 22 Νοεμβρίου 2008 Το submission της φόρμας ελέγχεται με τον onSubmit event handler. Η σκίαση της σελίδας γίνεται με τη δημιουργία absolute positioned div (με το μεγαλύτερο zindex) με μέγεθος όσο το viewport και χρώμα μαύρο και transparent. Εννοείται πως τα popups θα έχουν μεγαλύτερο zindex. Η οργάνωση των κατηγοριών/threads/post γίνεται με πάμπολλους τρόπους, όλοι με υπέρ και κατά. Ψάξε για hierarchical data structures σε συνδυασμό με τη mySql. Θα βρεις πολλά άρθρα. Υπάρχει ένα καλό και στο site της mysql. Τέλος, για forum εφαρμογή, σου προτείνω να χρησιμοποιήσεις κάτι έτοιμο. Δεν είναι τόσο απλό όσο φαίνεται. Γίνεται, αλλά θα σου φάει πολύ χρόνο και προϋποθέτει εμπειρία και γνώση σε όλες τις γλώσσες που εμπλέκονται.
Vasilis89 Δημοσ. 22 Νοεμβρίου 2008 Μέλος Δημοσ. 22 Νοεμβρίου 2008 Με βοηθησες πολυ με την σκίαση αλλα οχι με τα υπολοιπα. Με το onSumbit το function ξεκινά αλλα h forma καταχωρητε και η σελίδα αλλαζει, εγω έκανα αυτό "onkeypress=return event.keyCode!=13; function()", το λαθως μου είναι στην σύντατη με το function(), δηλαδη θέλω να μπλοκαρετε το ender και μετα να ξεκινά το function() που εχω το αjαχ. Για την οργάνοση αυτο που ήθελα ήταν όχι απο την πλευρα μου αλλα απο την πλευρα αυτου που την βλέπει, δηλαδη αθλητικα,περιβάλον..... Τέλος θελω να σε ρωτίσω αν με την μεθοδο που μου είπες με το zindex η υπολυπη σελιδα σταματει να λειτουργει? (ινσομνια ξαναεπιτρεψτε τα greeklish ή βάλτε ορθογραφικο έλεγχο)
zinas Δημοσ. 22 Νοεμβρίου 2008 Δημοσ. 22 Νοεμβρίου 2008 Η σελίδα δεν σταματάει να λειτουργεί (δηλαδή αν έχεις κάποιο animation effect θα συνεχίσει να παίζει κανονικά) αλλά δεν θα μπορείς να πατήσεις τίποτα, αφού το κλικ θα "πιάνεται" ότι έγινε στο αντικείμενο που είναι πιο πάνω, δηλαδή στη σκίαση. Όσο για το άλλο... τι ακριβώς θες να κάνεις? Να έχεις μία φόρμα που δεν κάνει submit άμα πατήσεις enter, αλλά μόνο άμα κάνεις κλικ σε κάποιο κουμπί?
fromaz Δημοσ. 22 Νοεμβρίου 2008 Δημοσ. 22 Νοεμβρίου 2008 Με το onSumbit το function ξεκινά αλλα h forma καταχωρητε και η σελίδα αλλαζει, Κάνεις λάθος. Αν γράψεις ><form onsubmit="return mySubmit(this);"> και επιστρέψεις false, ο default handler ακυρώνεται. Αυτό που προσπαθείς να κάνεις είναι μια τρύπα στο νερό. Κατ' αρχάς, ο κώδικάς σου είναι λάθος (function call μετά το return!) και μη cross-browser συμβατός (το event.keyCode είναι του ΙΕ). Εν πάση περιπτώσει, και το return να κόψεις, τίποτα δεν εμποδίζει το χρήστη να πατήσει το submit button. Αν δεν βάλεις submit button, τότε δεν έχεις φόρμα. Δεν χρειάζεσαι καν το form tag.
Vasilis89 Δημοσ. 22 Νοεμβρίου 2008 Μέλος Δημοσ. 22 Νοεμβρίου 2008 To πρόβλημα έχει ως εξείς: Έχω μια φόρμα χωρίς sumbit button γιατι δεν θέλω να γίνετε sumbit, θέλω αντί για submit ν ξεκεινά το ajax. To πρόβλημα είναι οτι γίνετε sumbit και με το ender. Οποτε θέλω να σταματάω το sumbit me το ender και την ίδια στιγμη να ξεκινα το function tou ajax. Το ξέρω οτι το παραπάνω δεν θα λειτουργούσε γιαυτο ρωταω την σωστη σύνταξη.
zinas Δημοσ. 23 Νοεμβρίου 2008 Δημοσ. 23 Νοεμβρίου 2008 Αν κατάλαβα καλά, θες απλά αντί για να γίνεται submit η φόρμα, να καλείς μία συνάρτηση σου. Είναι όπως το είπε ο fromaz. Ή άμα το καταλαβαίνεις καλύτερα: ><form onsubmit="function(); return false;"> όπου function κάποια δικιά σου συνάρτηση (αρκεί να μην επιστρέφει κάτι, που άμα απλά θες κάποιο ajax call φαντάζομαι δεν επιστρέφει) Επίσης, καλό είναι να υπάρχει και το αντίστοιχο submit button (κρυμμένο με javascript, άμα σε ενοχλεί τόσο πολύ) και φυσικά και ο μηχανισμός που χειρίζεται το submit, ώστε η σελίδα σου να παίζει και σε αυτούς που δεν έχουν ενεργοποιημένη την javascript
Vasilis89 Δημοσ. 23 Νοεμβρίου 2008 Μέλος Δημοσ. 23 Νοεμβρίου 2008 Λειτουργεί, ευχαριστώ. Εχεις ενα κωδικα με absolute potitioned div se diastaseis viewport, black background transparensy kai zindex για να έχω ως παράδειγμα?
zinas Δημοσ. 24 Νοεμβρίου 2008 Δημοσ. 24 Νοεμβρίου 2008 Για τη σκιά που θες... Στη σελίδα σου χρειάζεσαι (χρησιμοποιώ την βιβλιοθήκη Prototype, αλλά μπορείς να βρεις και άλλους τρόπους να το κάνεις): ><div id="shadowDiv" class="shadowish" style="display: none;"></div> <script language="javascript" type="text/javascript"> $('shadowDiv').style.height = ($('container').offsetHeight) + 'px'; </script> Για να καταλάβεις τι είναι το container, φαντάσου αυτό: ><body> <div id="container"> <!-- Όλος ο HTML κώδικας εδώ --> </div> </body> Και το CSS θα είναι: >.shadowish { background-color: rgb(0, 0, 0); opacity: 0.6; /* Safari, Opera */ -moz-opacity:0.60; /* FireFox */ filter: alpha(opacity=60); /* IE */ z-index: 20; width: 100%; background-repeat:repeat; position:absolute; top: 0px; left: 0px; margin: 0; padding: 0; }
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.