Mietin pystyisikö sama funktio hyödyntämään kahta valintaa ja tekemään niiden valintojen suhteen jotakin.
function valinnat(elementti,rivi,sarake) { var tekstit = document.getElementById(elementti).value; }
Eli kyseessä on vaikka sarake 3.
Kaksoisklikataan sitä rivillä 4.
Sen jälkeen tehdään samoin rivillä 9.
Voisiko nuo molemmat valinnat tunnistaa? Olisi kiva, jos voisi :)
Esim. valintojen välisen tilan voisi sitten korostaa lievällä taustavärillä ynnä muuta tarpeellisempaa... vaikka kopioida jonnekkin..
Voisitko rivittää viestisi järkevämmin (eli jättää rivittämättä turhaan)?
Vähän jäi epäselväksi, mikä on ongelma. Ethän tarvitse kuin yhden muuttujan: jos se on tyhjä (null), tallennat siihen tiedon klikkauksesta, ja muuten kyseessä oli toinen klikkaus ja voit tehdä sille, mitä haluat. Jos käyttäisit edes pari tuntia JS:n alkeiden opetteluun, säästäisit varmaan kymmeniä tunteja näistä yksinkertaisista kysymyksistäsi.
Koodiasi varmaan selventäisi huomattavasti, jos et välittäisi funktioille turhaan id:tä vaan suoraan this-olion.
Metabolix kirjoitti:
Ethän tarvitse kuin yhden muuttujan: jos se on tyhjä (null), tallennat siihen tiedon klikkauksesta, ja muuten kyseessä oli toinen klikkaus ja voit tehdä sille, mitä haluat. Jos käyttäisit edes pari tuntia JS:n alkeiden opetteluun, säästäisit varmaan kymmeniä tunteja näistä yksinkertaisista kysymyksistäsi.
Koodiasi varmaan selventäisi huomattavasti, jos et välittäisi funktioille turhaan id:tä vaan suoraan this-olion.
Vaikka lomakkeen sisältöä tuossa poiminkin, sen tarkka sijainti on tarpeen, siksi id:tä poimin, ja kahta eri id:tä (ja niiden eri rivinumeroita), ennen kuin asialle tehdään jotain.
Tämä minun testini käsittää kaikki funktioon viittauksen tuoksi ekaksi klikkaukseksi.
function make(elementti) { eka =""; toka=""; if(eka == ""){ eka = elementti; } else{ toka = elementti; } if(toka !=""){ alert('eka: '+eka+', toka: '+toka); } }
pistemies kirjoitti:
Tämä minun testini käsittää kaikki funktioon viittauksen tuoksi ekaksi klikkaukseksi.
Mieti nyt vähän edes. Mikä mahtaa olla suunnilleen ensimmäinen asia, joka koodissasi tapahtuu klikkauksen jälkeen? Päästäänkö else-lohkoon koskaan?
x = 0; if (x == 1) // ???
Eli tarvitset globaaleja muuttujia, jotka alustetaan funktion ulkopuolella.
pistemies kirjoitti:
sen tarkka sijainti on tarpeen, siksi id:tä poimin
Et nähtävästi ymmärtänyt ollenkaan, mitä kirjoitin. (Johtunee siitä, ettet osaa sitä JavaScriptia nimeksikään – oikeasti, miten edes viitsit yrittää koodata sillä, jos et yhtään opettele?) Sanoin, että voisit saada element-muuttujaan automaattisesti elementin (jonka nyt haet getElementById-funktiolla), ja siinä epätodennäköisessä tilanteessa, että myös id on tarpeen, se löytyisi tietenkin kohdasta element.id.
Metabolix kirjoitti:
pistemies kirjoitti:
Tämä minun testini käsittää kaikki funktioon viittauksen tuoksi ekaksi klikkaukseksi.
Mieti nyt vähän edes. Mikä mahtaa olla suunnilleen ensimmäinen asia, joka koodissasi tapahtuu klikkauksen jälkeen? Päästäänkö else-lohkoon koskaan?
No joo... eka ="" aina, kun se se lukee tossa niin.
Keksimpä viimein.
var riviValinta; function make(row,col) { var toka; if(riviValinta == null){ riviValinta = row; toka =""; } else{ toka = row; } if(toka !=""){ alert('eka:'+riviValinta+' toka:'+toka); } }
Tuolle sarakkeelle pitänee laittaa myös globaalimuuttuja, jotta voi verrata eka ja tokaklikkausta, osuuko ne samalle sarakkeelle... niinku on tarkotus.
Kiitos!
Tuolta löytyi sellaisia skriptejä joita meikäkin ymmärtää, monille on annettu sama nimi kuin php:ssa
Aihe on jo aika vanha, joten et voi enää vastata siihen.