k33theod Δημοσ. 22 Σεπτεμβρίου 2018 Δημοσ. 22 Σεπτεμβρίου 2018 (επεξεργασμένο) Παιδεύομαι λίγο καιρό τώρα να αποθηκεύσω/σώσω κάπως κάποιες μεταβλητές από js. Αυτές είναι μία λίστα και ένα html element που διαβάζω με document.getElementById. Παράδειγμα αυτά που είναι μέσα στο code block. Ο μόνος τρόπος που βρήκα είναι με copy - paste 😞 <p style="width:100ch; text-align: justify" id="papa">Θανάσιμα <input style="width: 15ch;" id="1">στην προσπάθειά του να ληστέψει ένα κοσμηματοπωλείο στην Ομόνοια, ο γνωστός ακτιβιστής της ΛΟΑΤΚΙ κοινότητας Ζακ Κωστόπουλος, σύμφωνα με το protothema.<br><br>Ο άνδρας εισέβαλε εχθές το <input style="width: 10ch;" id="0">στο κατάστημα χρυσαφικών του <input style="width: 9ch;" id="2">κρατώντας στο χέρι ένα μαχαίρι για να το ληστέψει, φαίνεται να εγκλωβίζεται και στη συνέχεια στην προσπάθεια του να ξεφύγει, αρχικά αρπάζει έναν πυροσβεστήρα και <input style="width: 5ch;" id="6">συνέχεια αφού ανεπιτυχώς δεν μπορεί να βγει, σπάει τη βιτρίνα και “βουτάει” μέσα από τα τζάμια στο δρόμο. Όπως φαίνεται διερχόμενοι περαστικοί του <input style="width: 13ch;" id="7">και ο ληστής <input style="width: 16ch;" id="3">από τα τζάμια, αφήνει λίγα λεπτά αργότερα την τελευταία του πνοή.<br><br>Η αστυνομία προχώρησε στη σύλληψή του κοσμηματοπώλη, βάσει ενός βίντεο που δείχνει τον ίδιο, μαζί με ένα άγνωστο, να κλωτσούν τον τοξικομανή, όταν εκείνος είχε εγκλωβιστεί στο κοσμηματοπωλείο. <br><br>Ο ιδιοκτήτης του <input style="width: 18ch;" id="4">οδηγείται στον εισαγγελέα με την κατηγορία της βαριάς σκοπούμενη βλάβης, ενώ αναζητείται από την αστυνομία το δεύτερο άτομο που φαίνεται στο <input style="width: 8ch;" id="5">να κλωτσάει τον τοξικομανή.<br> </p> selectet_words Array(8) [ "μεσημέρι", "τραυματίστηκε", "κέντρου", "τραυματισμένος", "κοσμηματοπωλείου", "βίντεο", "στη", "επιτίθενται" ] Καμία ιδέα; Επεξ/σία 22 Σεπτεμβρίου 2018 από k33theod
defacer Δημοσ. 22 Σεπτεμβρίου 2018 Δημοσ. 22 Σεπτεμβρίου 2018 Δεν καταλαβαίνω την ερώτηση. Επίσης αν δεν απατώμαι ids που αρχίζουν με ψηφίο δεν είναι legal.
k33theod Δημοσ. 22 Σεπτεμβρίου 2018 Μέλος Δημοσ. 22 Σεπτεμβρίου 2018 Η ιδέα είναι να παράγω ασκήσεις αυτές με τα κενά. Βρήκα βολική τη js και προσπάθησα με αυτή. Παίρνω ένα κείμενο αφαιρώ κάπειες λέξεις τμήματα κλπ και ο άλλος προσπαθεί να τα συμπληρώσει. Θέλω να σώσω το κείμενο και τον πίνακα λέξεων. Ο κώδικας όλος είναι εδώ https://github.com/k33theod/exercise_creator Αυτό με τα id δεν το ήξερα. Τους έδινα id το index της λέξης που κόβω. Προσπάθησα να ανεβάσω και ένα βίντεο αλλά τώρα κάτι λέει για 2mb limit
alou Δημοσ. 22 Σεπτεμβρίου 2018 Δημοσ. 22 Σεπτεμβρίου 2018 Όταν λες να το αποθηκεύσεις, για τι χρήση? το localStorage δεν σε καλύπτει? Αν θες να γίνουν persist με άλλο τρόπο και δεν μιλάμε για server side JS, θα πρέπει να τα στείλεις με κάποιου είδους http request να αποθηκευτούν σε κάποιο αρχείο ή βάση.
defacer Δημοσ. 22 Σεπτεμβρίου 2018 Δημοσ. 22 Σεπτεμβρίου 2018 Τι πάει να πει "παίρνεις ένα κείμενο"; Από πού το παίρνεις; Πώς μεταφέρεται στη σελίδα που δουλεύεις; Και τι εννοείς "να το σώσεις"; Τι ακριβώς να σώσεις από τη στιγμή που μπορείς απλά να επαναλάβεις την ίδια διαδικασία με πριν;
k33theod Δημοσ. 22 Σεπτεμβρίου 2018 Μέλος Δημοσ. 22 Σεπτεμβρίου 2018 (επεξεργασμένο) 1 ώρα πριν, defacer είπε Τι πάει να πει "παίρνεις ένα κείμενο"; Από πού το παίρνεις; Πώς μεταφέρεται στη σελίδα που δουλεύεις; Και τι εννοείς "να το σώσεις"; Τι ακριβώς να σώσεις από τη στιγμή που μπορείς απλά να επαναλάβεις την ίδια διαδικασία με πριν; Έχω ανεβάσει ένα βίντεο https://github.com/k33theod/exercise_creator/blob/master/ScreenCapture_22-Sep-18 17.22.42.wmv που δείχνει πώς κάνω αυτές ασκήσεις και η ιδέα είναι να κρατήσω το element και τη λίστα για να τα χρησιμοποιώ όποτε θέλω. 1 ώρα πριν, alou είπε Όταν λες να το αποθηκεύσεις, για τι χρήση? το localStorage δεν σε καλύπτει? Αν θες να γίνουν persist με άλλο τρόπο και δεν μιλάμε για server side JS, θα πρέπει να τα στείλεις με κάποιου είδους http request να αποθηκευτούν σε κάποιο αρχείο ή βάση. Η local storage όχι θα προτιμούσα να πήγαινε στο server. Αυτό που λες να τα στείλω με request προσπάθησα αλλά δεν μου βγήκε. Προσπάθησα επίσης να χρησιμοποιήσω τις export import της js για να τα περάσω σε άλλο js αρχείο, αλλά δεν. Επεξ/σία 22 Σεπτεμβρίου 2018 από k33theod
defacer Δημοσ. 22 Σεπτεμβρίου 2018 Δημοσ. 22 Σεπτεμβρίου 2018 (επεξεργασμένο) 4 minutes ago, k33theod said: η ιδέα είναι να κρατήσω το element και τη λίστα για να τα χρησιμοποιώ όποτε θέλω Σώζεις κάπου το κείμενο και τα indexes μέσα σε αυτό (σε ποιο χαρακτήρα ξεκινούν και σταματάνε) οι λέξεις που θες να κάνεις λίστα, και αυτή είναι όλη η πληροφορία που σου χρειάζεται. Επεξ/σία 22 Σεπτεμβρίου 2018 από defacer
k33theod Δημοσ. 22 Σεπτεμβρίου 2018 Μέλος Δημοσ. 22 Σεπτεμβρίου 2018 15 λεπτά πριν, defacer είπε Σώζεις κάπου το κείμενο και τα indexes μέσα σε αυτό (σε ποιο χαρακτήρα ξεκινούν και σταματάνε) οι λέξεις που θες να κάνεις λίστα, και αυτή είναι όλη η πληροφορία που σου χρειάζεται. Αυτή ακριβώς είναι η αρχική μου ερώτηση πως τα σώζω το κείμενο είναι το var keimeno = document.getElementById("tade") και οι λέξεις είναι var selected_words. Τα index δεν τα χρειάζομαι γιατί έχω αντιστοιχεία λέξης, κενό. Η λέξη με index στη λίστα 10 δηλαδή αντιστοιχεί στο κενό με id 10.
solarpower Δημοσ. 23 Σεπτεμβρίου 2018 Δημοσ. 23 Σεπτεμβρίου 2018 Να το έχεις ως αρχείο και να το διαβάζεις από τον server. https://stackoverflow.com/questions/4533018/how-to-read-a-text-file-from-server-using-javascript
alou Δημοσ. 23 Σεπτεμβρίου 2018 Δημοσ. 23 Σεπτεμβρίου 2018 Καταρχάς, πρόσβαση στο filesystem από τον browser μέσω javascript δεν υπάρχει. Αν θες να αποθηκεύσεις κάτι, θα χρησιμοποιήσεις π.χ. fetch και θα τα πάρει ο server να τα αποθηκεύσει σε ένα αρχείο ή στη βάση. Οπότε, στη δική σου περίπτωση, αλλάζοντας λίγο το παράδειγμα απο MDN στο παραπάνω link: let data = {text: mySelectedText, words: selected_words}; postData(`http://example.com/answer`, data) .then(data => { // data edo einai oti epistrepseis apo ton server san apantisi console.log('succesfully sent data to server')) } .catch(error => console.error(error)); function postData(url = ``, data = {}) { // Default options are marked with * return fetch(url, { method: "POST", // *GET, POST, PUT, DELETE, etc. mode: "cors", // no-cors, cors, *same-origin cache: "no-cache", // *default, no-cache, reload, force-cache, only-if-cached credentials: "same-origin", // include, same-origin, *omit headers: { "Content-Type": "application/json; charset=utf-8", // "Content-Type": "application/x-www-form-urlencoded", }, redirect: "follow", // manual, *follow, error referrer: "no-referrer", // no-referrer, *client body: JSON.stringify(data), // body data type must match "Content-Type" header }) .then(response => return response.json()); // parses response to JSON και προφανώς, έχεις κάνει κάτι server side που θα πάρεις το ποστ και θα κάνεις ότι χρειάζεται. Αν δεν την παλεύεις εκεί, πες μια γενική κατεύθυνση σε περιβάλλον που θες να δούμε τι μπορεί να βοηθήσει.
k33theod Δημοσ. 24 Σεπτεμβρίου 2018 Μέλος Δημοσ. 24 Σεπτεμβρίου 2018 (επεξεργασμένο) 21 ώρες πριν, alou είπε Καταρχάς, πρόσβαση στο filesystem από τον browser μέσω javascript δεν υπάρχει. Αν θες να αποθηκεύσεις κάτι, θα χρησιμοποιήσεις π.χ. fetch και θα τα πάρει ο server να τα αποθηκεύσει σε ένα αρχείο ή στη βάση. Οπότε, στη δική σου περίπτωση, αλλάζοντας λίγο το παράδειγμα απο MDN στο παραπάνω link: και προφανώς, έχεις κάνει κάτι server side που θα πάρεις το ποστ και θα κάνεις ότι χρειάζεται. Αν δεν την παλεύεις εκεί, πες μια γενική κατεύθυνση σε περιβάλλον που θες να δούμε τι μπορεί να βοηθήσει. Ευχαριστώ φίλε. Το προσπάθησα αλλά δεν μου δουλεύει βγάζει ένα πρόβλημα με το json, και βασικά δεν θέλω json, με βολεύει καλύτερα να πάει ως DOM Object ή string. Μπόρεσα με ajax να στείλω τη λίστα των λέξεων xhttp.send('words='+ encodeURIComponent(selectet_words)); O mozilla έχει καλό documentation. Θέλει λίγο ψάξιμο για να στείλω και το άλλο κομμάτι. Τα περισσότερα παραδείγματα είναι για να πάρεις data 😞 Επεξ/σία 24 Σεπτεμβρίου 2018 από k33theod
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα