Jump to content



Πρόβλημα με PHP Grid με χρήση Javascript


tigrakas

Recommended Posts

Παίδες καλημέρα,

Εδώ και κάποιες μέρες έχω ξεκινήσει και φτιάχνω ένα δικό μου php grid και μέχρι στιγμής τα έχω πάει καλά πιστεύω. Η φιλοσοφία είναι η εξής που ακολουθώ:

α) Δημιουργώ ένα TABLE βάσει δεδομένων και στοιχείων των πεδίων που φέρνω από τη βάση. Κάθε πεδίο με δεδομένα που φέρνω το βάζω σε ένα TD.

πχ. παίρνω από τη βάση τη τιμή root που είναι τιμή του πεδίου username της πρώτης έγγραφης στο πίνακα users και στη συνέχεια αφού πω $value="root" φτιάχνω το TD ως εξής: echo "<TD onclick=\"toTxt(this)\"> . $value . </TD>";

Όλα καλά μέχρι εδώ φτιάχνεται κανονικότατα το grid μου. Η function τώρα toTxt() είναι σε javascript και αναλαμβάνει να εισάγει στο TD μέσα ένα <input text> έτσι ώστε να μπορεί να αλλάξει ο χρήστης δυναμικά τη τιμή του μέσα στο πεδίο. Αυτό το καταφέρνει μια χαρά μέχρι στιγμής χωρίς κανένα πρόβλημα. Η φιλοσοφία που ακολουθώ σε αυτή τη function είναι η εξής:

β). παίρνω το object.id, το object.txt, το object.innerHTML και το object.type του εισάγω ένα καινούργιο object.innerHTML = <input type=\"text\" size=\"" + len + "\" id=\"" +id+ "\" onKeyDown=\" if (KeyChar=='13') save_field(this)\">"'

Να διευκρινίσω ότι η save_field απλά σωζει την τιμή στη βάση με ένα scriptaki και το κάνει μια χαρά. Όλα δουλεύουν μια χαρα μέχρι στιγμής χωρίς κανένα πρόβλημα. Το πρόβλημα είναι τώρα στο ότι αν κάνω κλικ σε ένα πεδίο και αυτό γίνει text και μετά πάω και κάνω κλικ σε ένα άλλο θα γίνει και αυτό text. Αυτό που θέλω να πετύχω είναι όταν κάνω κλικ σε ένα άλλο πεδίο το πρώτο να επαναφέρεται σε κατάσταση TD. Καμιά ιδέα. Ευχαριστώ εκ των προτέρων και sorry αν σας κούρασα πρωι πρωι.

Καλημέρα

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

×
×
  • Δημιουργία...

Important Information

Ο ιστότοπος theLab.gr χρησιμοποιεί cookies για να διασφαλίσει την καλύτερη εμπειρία σας κατά την περιήγηση. Μπορείτε να προσαρμόσετε τις ρυθμίσεις των cookies σας , διαφορετικά θα υποθέσουμε ότι είστε εντάξει για να συνεχίσετε.