Javascript checkbox

Pozdrav,

Laganica za znalce,

Imam na stranici checkbox zelio bih preko Javascripte izvuci vrijednost kako slijedi:

Kad je box chekiran da dobijem recimo yes a kada ne da mi daje no.

Probao sam kako slijedi ali negdje je greska.

Imam checkbox:

Skripta je kako slijedi:

  var box = document.getElementById('potvrda');

 if(box.checked == true)
  {
  box="yes";
  }
  else
   {
  box="no";
  }

Da li je moguce na ovakav nacin mjenjati vrijednost var box-a

vrijednost ces dobiti:
var vrijednost = box.value
ili
var vrijednost = box.getAttribute(‘value’)

a promjeniti:
box.value = 'nova vrijednost’
ili
box.setAttribute(‘value’, ‘nova vrijednost’)

Nisam bas nesto pretjerano upucen u javascript ali sam probao sljedece

var box = document.getElementById(‘potvrda’);

 if(box.checked == true)
  {
  box.value="yes";
  }
  else
  {
  box.value="no";
  }

pa sam poslije jos probao dodati

  var vrijednost = box.value;

ali ne ide…

Tvoj primjer u prvom postu je sasvim regularan znaci nakon provjere si promenio promenjivoj “box” vrednost i ona vise ne pokazuje na object input nego sadrzi string “yes” ili “no” zavisno od toga jel input bio cekiran ili ne.

Ja mislim da tebe ognjen nije bas sasvim razumio sta pokusavas :wink:

[quote=“tchibo”]Nisam bas nesto pretjerano upucen u javascript ali sam probao sljedece

var box = document.getElementById(‘potvrda’);

 if(box.checked == true)
  {
  box.value="yes";
  }
  else
  {
  box.value="no";
  }

pa sam poslije jos probao dodati

  var vrijednost = box.value;

ali ne ide…[/quote]

Mora ici, evo ovo je to isto:
[HTML]

function ajDaVidimVrijednost(){ var box = document.getElementById('potvrda'); if(box.checked == true){ box.value="yes"; } else{ box.value="no"; }
           var vrijednost = box.value;
           
           alert(vrijednost);
        }
    </script>
</head>
<body>
    <input name="potvrda" type="checkbox" id="potvrda" value="">
    <button onclick="ajDaVidimVrijednost()">Aj da vidim vrijednost</button>
</body>
[/HTML]

tchibo je postavio pitanje na kraju svog prvog posta

Da moguce je i to bez ikakve pogreske pod uslovom da vise neces trebat objekt koji je promenjiva box cuvala prije toga u sebi.

Posto je ognjen bio toliko dobar da vec sastavi ti kompletan primjer ja cu ga iskoristim samo sa malom izmjenom i ima da isto radi savrseno :slight_smile:

<html>
    <head>
        <script>
            function ajDaVidimVrijednost(){
               var box = document.getElementById('potvrda');
               if(box.checked == true){
                box="yes";
                }
               else{
                box="no";
               }
               alert(box);
            }
        </script>
    </head>
    <body>
        <input name="potvrda" type="checkbox" id="potvrda" value="">
        <button onclick="ajDaVidimVrijednost()">Aj da vidim vrijednost</button>
    </body>
</html>

Ognjenov pristup je isto sasvim ispravan stim sto sa njegovim primjerom si sacuvao promenjivu box da i dalje pokazuje na objekt input pa je mozes ponovo iskoristiti ako ti zatreba za nesto a istovremeno si uskladistio vrednost “yes” ili “no” u checkbox input pa toj vrednosti mozes pristupiti odakle god hoces iz daljnjeg koda, stim sto se vrednost nece promeniti promenom stanja checkbox inputa.
Isto si mogao umjesto box.value napisati bilo koje novo ime za atribut i isto bi bilo ispravno
primjer:

<html>
    <head>
        <script>
            function ajDaVidimVrijednost(){
               var box = document.getElementById('potvrda');
               if(box.checked == true){
                box.mojNoviAtribut="yes";
                }
               else{
                box.mojNoviAtribut="no";
               }
               alert("box.mojNoviAtribut = " + box.mojNoviAtribut);
	       alert("document.getElementById('potvrda').mojNoviAtribut = " + document.getElementById('potvrda').mojNoviAtribut)
            }
        </script>
    </head>
    <body>
        <input name="potvrda" type="checkbox" id="potvrda" value="">
        <button onclick="ajDaVidimVrijednost()">Aj da vidim vrijednost</button>
    </body>
</html>

Sad vidim gdje grijesim a to nisam napomenuo jer sam mislio da nije potrebno.

Naime tu varijablu zelim koristiti u nastavku skripte tako da bi bilo sljedece:

var box = document.getElementById(‘potvrda’);
if(box.checked == true){
box=“yes”;
}
else{
box=“no”;
}

              if(box.value == "no"){box.style.color = '#ff0000';}  ///// ovim zelim mjenjati boju fonta ukoliko to polje nije ispunjeno. Dali je moguce na ovaj nacin tu vrijednost poslije u istoj skripti i koristiti.
    </script>
  1. I jos jedna stvar na koji nacin mogu tu varijablu u .php-u ispisati, recimo da ovu vrijednost zelim ispisati <? echo $box.value ?> pokraj polja ukoliko je/nije ispunjeno.

mislim da sam prvi dio rjesio, tj. moze se tako raditi ali sa sljedecim uvjetom

if(box == “no”) a ne box.value

samo mi jos treba odgovor na drugo pitanje

Hvala unaprijed na pomoci

Drugo pitanje ti je kompleksno i tesko da ces dobit kompletno rjesenje ovdje.
Prvo moras biti siguran (ne misliti da si rjesio prvi dio), i skontati zasto to tako radi.
Znaci… “knjigu” u ruke.

Nema problema, hvala na pomoci, pozdrav

Mene od pocetka tu malo kopka sta ce tebi uopste tu da spremas vrednosti “yes” i “no” kad lepo vec imas po defaultu box.checked true i false za provjeriti da li je checkbox cekiran.

Ovako ja sam tebi napisao da ako spremis vrednost yes ili no u promenjivu box tu promenjivu vise ne mozes koristiti posle da ti pokazuje na input, znaci box.style.color zaboravi jer ti nece raditi, ustvari box.style.color zaboravi u svakom slucaju jer checkboxu oblikovanja mozes koliko ja znam mjenjat samo u IE drugi browseri to ne podrzavaju. Mozes mjenjat oblik nekom drugom elementu koji ce bude pored checkbox inputa.

Ali tebi to uopste nije potrebno da spremas ikakve vrednosti u box, evo primjer:

<html>
    <head>
        <script>
            function ajDaVidimVrijednost()
	   {
               var box = document.getElementById('potvrda');
               if(box.checked == false)
                   box.nextSibling.style.color = 'red';
               else
		   box.nextSibling.style.color = '';
	   }
        </script>
    </head>
    <body>
        <input name="potvrda" type="checkbox" id="potvrda" /><span>Potvrdi me molim te :)</span>

        <button onclick="ajDaVidimVrijednost()">Aj da vidim vrijednost</button>
    </body>
</html>

Sto se tice drugog pitanja dacu ti neki primjer pa ga ti malo pogledaj i probaj malo skontati. Tu opet zavisi sve da li ti saljes post ili get metodom formu uglavnom za post ti je $_POST[‘imepolja’] a za get $_GET[‘imepolja’]

I ono sto ti je ognjen napisao stoji “Knjigu u ruke” :wink:

naime meni radi sve 5, mozilla, chrome, ie 6,7,8.

Sto se knjige tice, da svakako bi trebalo na tome poraditi ali meni toga ne treba u toj mjeri
a vama to ne predstavlja nikakav problem.

Malo sam gledao kako prikazati javascript varijablu u php i dosta je komplexno tako da mislim da mogu i bez toga.

Hvala i pozdrav


Copyright © 2020 WM Forum - AboutContact - Sponsored by: Mydataknox & Webmaster.Ninja