Poslao: 20 Okt 2020 13:36
|
offline
- darko.jocic.ns
- Novi MyCity građanin
- Pridružio: 20 Okt 2020
- Poruke: 4
|
Evo mučim se već neko vreme da podatke iz forme u html-u pretvorim u promenljive u JS, sa kojima posle operišem kako oću
|
|
|
Registruj se da bi učestvovao u diskusiji. Registrovanim korisnicima se NE prikazuju reklame unutar poruka.
|
|
|
Poslao: 20 Okt 2020 18:08
|
offline
- darko.jocic.ns
- Novi MyCity građanin
- Pridružio: 20 Okt 2020
- Poruke: 4
|
Pomoglo mi je donekle. Hvala.
HTML:
<input type="text" name="name" id="uniqueID" value="value" />
JS:
var nameValue = document.getElementById("uniqueID").value;
Dakle, ovo radi.
Međutim, interesuje me kako da ono što upišem u formu submitujem u Javascript promenljivu?
|
|
|
|
Poslao: 20 Okt 2020 20:06
|
offline
- E.L.I.T.E.
- Legendarni građanin
- Pridružio: 23 Maj 2012
- Poruke: 4575
|
darko.jocic.ns ::Međutim, interesuje me kako da ono što upišem u formu submitujem u Javascript promenljivu?
Koristi FormData.
const formFields = new FormData(document.querySelector('#id_forme'));
Onda možeš dobijati parove imena i vrednosti polja koristeći metodu entries nad FormData objektom.
for ([key, value] of formInformation.entries()) {
console.log(key, value);
}
|
|
|
|
Poslao: 21 Okt 2020 07:16
|
offline
- darko.jocic.ns
- Novi MyCity građanin
- Pridružio: 20 Okt 2020
- Poruke: 4
|
Sad dolazimo do toga da sam totalni amater i da ću postavljati glupa pitanja. Unapred hvala na razumevanju. Verujem da bi bilo lakše da zamolim nekog da uradi ono što mi treba, jer za poznavaoca je to par minuta posla, ali izazov mi je da usput nešto i naučim.
Dakle šta mi treba...
Treba mi forma sa 8 polja...
Znači da se ubaci osam pojmova..
da se pritisne dugme i da se to u Javi prepozna kao 8 promenljivih...
Ono što mi je vasa.93 predložio da pogledam je dalo prve korake ka rešenju
HTML:
<input type="text" name="name" id="uniqueID" value="value" />
JS:
var nameValue = document.getElementById("uniqueID").value;
Na ovaj način u JS dobijam promenljivu sa kojom posle mogu da operišem, jedini promlem je što je vrednost promenljive zadata u kodu : value="value.."
Ono što bi ja hteo da korisnik upiše u polje rečenicu (i tako 8 puta)
Da pritisne button i da se u JS kreira 8 variabli
Eto
|
|
|
|
Poslao: 21 Okt 2020 20:48
|
offline
- E.L.I.T.E.
- Legendarni građanin
- Pridružio: 23 Maj 2012
- Poruke: 4575
|
'Ajde polako, korak po korak.
Prva stvar - Java i JavaScript su potpuno različiti programski jezici, iako su sličnog naziva. Ako te zanima više o ovoj temi imaš gomilu članaka na internetu o istoriji JavaScript-a i zbog čega ima Java u nazivu. Ovo ti govorim pre svega da se ne zbuniš u budućnosti kada budeš pretraživao nešto pa da nabasaš na primere za Javu i da razmišljaš zbog čega neće da ti radi.
Deklarisanje novih promenljivih tokom izvršavanja JavaScript-a jeste moguće, no svakako nije ono što bi želeo da radiš iz dva razloga:
1. Morao bi da definišeš promenljive u globalnom window objektu i tako bi mogao preći preko vrednosti neke koja je već definisana.
2. Te promenljive bile bi globalno dostupne i bilo koji deo koda bi mogao da ih menja. Ovo bi bila noćna mora za održavanje i pronalaženje bagova.
Kao što sam rekao, najlakši način za dobijanje vrednosti iz forme je korišćenjem FormData objekta. Nakon toga, svaku rečenicu iz forme mogao bi da smestiš u neki predefinisani niz. Konkretno rešenje za tvoj problem izgledalo bi ovako:
HTML
<form id="form1">
<input type="text" name="sentence1" />
<input type="text" name="sentence2" />
<input type="text" name="sentence3" />
<input type="text" name="sentence4" />
<input type="text" name="sentence5" />
<input type="text" name="sentence6" />
<input type="text" name="sentence7" />
<input type="text" name="sentence8" />
<input type="submit" value="Ubeleži rečenice" />
</form>
JavaScript
// deklarišemo niz za rečenice
var sentences = [];
// pomoću metode addEventListener dodajemo slušalac događaja "submit"
// koji će se okinuti pri slanju forme - drugim rečima, pri slanju forme izvršiće
// se funkcija koja je prosleđena kao drugi parametar
document.querySelector('#form1').addEventListener('submit', function() {
// pomoću document.querySelector metode dobijamo formu koja nam treba tako što
// prosledimo njen selektor (u ovom slučaju ID forme), te dobijenu formu prosleđujemo
// kao argument za kreiranje FormData objekta koji će sadržati njene vrednosti
var formInformation = new FormData(document.querySelector('#form1'));
// pomoću entries metode koju pozivamo na formInformation objektu dobijamo parove imena i vrednosti polja
// za svaki par imena polja i njegove vrednosti dodajemo vrednost u niz sa rečenicama
for (var [name, value] of formInformation.entries()) {
sentences.push(value);
}
});
Ostavio sam ti komentare u kodu. Ne znam koliko je tvoje znanje pa ako imaš nekih konkretnih nedoumica, pitaj.
|
|
|
|
Poslao: 22 Okt 2020 21:35
|
offline
- darko.jocic.ns
- Novi MyCity građanin
- Pridružio: 20 Okt 2020
- Poruke: 4
|
Napisano: 22 Okt 2020 8:42
Hvala mnogo na trudu.
Isto tako mislim da mi ovo ne pomaže. Zapravo, tačnije ja ne vidim tačno kako da iskoristim Vaš savet.
Što se tiče forme bio sam uradio upravo tako, pa sam onda izbacio "submit" i ubacio "button", hoteći da mi uneti podaci ostanu na istom mestu....
Ono što meni treba (ili što mislim da mi treba, a poslednji put sam programirao pre 20-ak godina, kada sam napravio maser-mind u basicu ) je da bukvalno svaki unos postane nova (globalna) promenljiva...(nije to ceo sajt samo jedna stranica)
Dakle prvi unos "sentence1", u vašem primeru da postane npr. "var a", drugi - "var b"... i tako 8 puta...
Ono što meni trebe je
amcharts.com/demos/wheel-of-life/
s tim što hoću da napravim tako da korisnik sam bira osam oblasti
Ono što sam uradio je da sam spojio html i js u jedan file, definisao promenljive ( u mom slučaju samo tri za probu, a, b i c), obezbedio da se i na oba mesta prikažu imena promenljivih ( i iznad skale od 1 do 10(html) , i na samom grafikonu(js)) i napravio formu.
Ono što ne mogu već par dana je da unos pretvorim u var a, var b itd...
Nema šta nisam pogledao i pročitao, ali nisam našao direktan odgovor.
Imam osećaj da mi je pred nosom
Okačiću i fajl (u stvari dva i CSS) i ne morate naravno uraditi. Samo mi objasnite
Pozdrav i Hvala
mycity.rs/must-login.png
mycity.rs/must-login.png
Dopuna: 22 Okt 2020 21:35
Deo problema rešio. Uneto u tabelu se pojavljuje iznad skale...
HTML
<center>
<table border="3">
<thead>
<tr>
<th>1.</th>
<td><input type="text" name="name1" id="name1"></td>
</tr>
</thead>
<tbody>
<tr>
<th>2.</th>
<td><input type="text" name="name2" id="name2"></td>
</tr>
<tr>
<th>3.</th>
<td><input type="text" name="name3" id="name3"></td>
</tr>
<tr id="btna">
<td colspan="2"><input type="button" name="button" id="btn" value="Add" onclick="Naslov()"></td>
</tr>
</tbody>
</table>
</center>
JS
var a = [];
var b = [];
var c = [];
var x = 0;
function Naslov(){
a[x] = document.getElementById("name1").value;
b[x] = document.getElementById("name2").value;
c[x] = document.getElementById("name3").value;
var ispis_a = document.getElementById("prvi");
ispis_a.innerHTML = a[x];
var ispis_b = document.getElementById("drugi");
ispis_b.innerHTML = b[x];
var ispis_c = document.getElementById("treći");
ispis_c.innerHTML = c[x];
x++;
}
Dopuna: 22 Okt 2020 21:35
JOš samo na točku
|
|
|
|