Miten JavaScriptillä lähdettäisiin tekemään toimintoa, joka muuttaa tietyt kirjaimet toisiksi? Esimerkiksi jos j-kirjain muuttuisi numeroksi 8 ja a-kirjain merkiksi @, niin lopputulos olisi 8@. Tarkannan vähän:
Käyttäjä kirjoittaa kenttään sanan "ja". Toiseen kenttään tulee sama muokattuna (j -> 8, a -> @), eli nyt ekassa kentässä, jota käyttäjä muokkaa, lukee "ja" ja tokassa kentässä, joka muuttuu itsestään, lukee "8@". Tarkoitus olisi, että ekaan kenttään voi kirjoittaa pitkääkin tekstiä ja se muokkautuisi toiseen sen mukaan, miten mikäkin merkki vaihtuu. Jos jokin merkki ei ole muokattu, niin se pysyy alkuperäisenä. Toivottavasti ymmärsitte, mitä tarkoitan.
Jos joku tietäjä auttaa, olis kiva.
Käyttäjä kirjoittaa kenttään sanan "ja". Toiseen kenttään tulee sama muokattuna (j -> 8, a -> @), eli nyt ekassa kentässä, jota käyttäjä muokkaa, lukee "ja" ja tokassa kentässä, joka muuttuu itsestään, lukee "8@". Tarkoitus olisi, että ekaan kenttään voi kirjoittaa pitkääkin tekstiä ja se muokkautuisi toiseen sen mukaan, miten mikäkin merkki vaihtuu. Jos jokin merkki ei ole muokattu, niin se pysyy alkuperäisenä. Toivottavasti ymmärsitte, mitä tarkoitan.
Jos joku tietäjä auttaa, olis kiva.
Vastaukset 5
Vanhimmat
onKeyDown()-eventtiin vaan joku skriptinpätkä, joka käyttää esim- replacea
http://www.mediacollege.com/internet/javascript/text/replace-characters.html
http://www.w3schools.com/jsref/jsref_replace.asp
Kiitos nopeasta vastauksesta!
Rupesin käyttämään tota replacea sillee "kerroksittain". Ongelmana on vaan, että se saattaa sillon muuttaa uudestaan jotain sellasta, joka on muutettu kertaalleen. Sain kuitenkin kierrettyä ongelman vaihtamalla järjestystä ja korvaamalla ensin jotakin jollakin muulla ja sitten vasta sillä, millä alun perin piti. Siinä vaan se, että jos joku nyt menee käyttämään sitä mun varamerkkiä, niin koko teksti menee pieleen (luulisin)... Mutta ei kai se nyt oo niin nuukaa...
Toinen ongelma: en oo vielä osannut laittaa sitä tekstiä yhtä aikaa toiseen kenttään, joten nyt se toimii siten, että pitää painaa nappulaa ja teksti tulee sellasen "pop-up"-ikkunaan, vai mikä lie nimeltään (alert). No, kelpaa kuitenkin toistaseks, ja toimii loppujen lopuks niin kun alun alkaen pitikin.
Laitan tätä koodia tähän, jos jollakin olisi jotain huomautettavaa, miten toi menis kävevämmin tai sit vaan jos joku muukin tarttis tätä "tietoo" johonkin.
--------------------------------------------------------------------------------------------------------------------
function Nayta()
{
teksti0 = document.lomake.alkuteksti.value;
teksti1=teksti0.replace(/a/g,"%");
// Täs välis on hirvee liuta noita korvattavia juttuja... Erikseen isoista ja pienistä kirjaimista.
teksti60=teksti59.replace(/Å/g,"&");
alert("Käännettynä: " + teksti60);
}
--------------------------------------------------------------------------------------------------------------------
Varmaan ne script-kohat katoaa tuosta, mut ei kai haittaa...
...Ja form-hommatkin katos. :D
T. Aloittaja
Edistystä. Sain sen ulkoasun vastaamaan suunniteltua jollain tällasella:
---------------------------------------------------------------------------------------------------------------------------------
f*unction Kaanna()
{
teksti0 = document.LOMAKKEENNIMI.EKAKENTTÄ.value;
teksti1=teksti0.replace(/KORVATTAVA1/g,"KORVAUS1");
// ...LIUTA...
teksti60=teksti59.replace(/KORVATTAVA60/g,"KORVAUS60);
document.generaattori.TOKAKENTTÄ.value = teksti60
}
---------------------------------------------------------------------------------------------------------------------------------
(Lisäsin tonne sekaan tähtiä siinä toivossa, että ehkä osa ei sitten katoais.
http://www.ohjelmointiputka.net/opas.php?tunnus=js_06
Osa katos silti. Joo, eli tost pätkäst ei oo mitää hyötyy. :D