Autor Zpráva
MaxDJs
Profil *
Zdravím,

bylo by možno mi poradit, jak udělat aby se checkbox nezaškrtl, když na něj kliknu? Zkoušel jsem onmousedown, ale to čtvereček stejně zaškrtl.

Já potřebuji vykonat javascriptový skript, když kliknu na checkbox ale nechci aby se zaškrtl.

Děkuji za případnou radu

S pozdravem
MaxDJs
_es
Profil
objektCheckboxu.onclick = function(){return false;};
panther
Profil
MaxDJs:
případně tam tedy nemusí být checkbox, ale jen obrázek místo něj. Akci kliknutí navázat na něj.
MaxDJs
Profil *
a jinak než javascriptem to nejde?
_es
Profil
MaxDJs:
a jinak než javascriptem to nejde?
Ako ináč? Veď sám píšeš, že sa má pri kliknutí vykonať JS kód, tak dáš do tej funkcie, reagujúcej na kliknutie, príkaz return false;.
Môžeš potom aj v tej funkcii pomocou návratovej hodnoty podmieňovať, či sa ten checkbox má alebo nemá zaškrtnúť.
MaxDJs
Profil *
Protože to jsem zkoušel a ať to dám kam to dám, tak je checkbox pořád zaškrtnutý

tady mám ty kódy:

<script type="text/javascript">
function majitel_sedadla(){
var url = 'majitel.php?sedadlo=' + document.getElementById("sedadlo").value;

     if (url != 0)
     {
        if (window.ActiveXObject)
        {
          httpRequest = new ActiveXObject("Microsoft.XMLHTTP");
        }
        else
        {
          httpRequest = new XMLHttpRequest();
        }
        httpRequest.open("GET", url, true);
        httpRequest.onreadystatechange= function () {processRequest(); } ;
        httpRequest.send(null);
      }	 
return false;

}


function processRequest()
{
  if (httpRequest.readyState == 4)
  {
    if(httpRequest.status == 200)
    {
		var majitel = httpRequest.responseText;
		var pattern = /<b>(.+)<\/b>/;
		
		var majitel1 = majitel.match(pattern);
			
      alert ('Sedadlo má rezervované:' + majitel1[1]);
      
	}
  }
}
</script>
_es
Profil
MaxDJs:
Protože to jsem zkoušel
Kde? Načo tu kopíruješ nesúvisiace kusy kódu? Kde by tam ako malo byť priradenie funkcie do vlastnosti onclick podľa rady v [#2]?
MaxDJs
Profil *
Protože bych potřeboval poradit, kam to dát. Zkoušel jsem to začlenit do processRequest() i do majitel_sedadla(), ale nikde mi to nefungovalo.
_es
Profil
MaxDJs:
Já potřebuji vykonat javascriptový skript, když kliknu na checkbox ale nechci aby se zaškrtl.
A akým spôsobom chceš ten JS kód vykonať po kliknutí na ten checkbox?
MaxDJs
Profil *
No takto mám udělaný checkbox

<input type="checkbox" style="position:absolute; top: {$y}px; left: {$x}px;"  class="obsazene" name="sedadla[]" value="$id" onmousedown="javascript:majitel_sedadla()" id = "sedadlo"/>";


když na něj kliknu tak se mi normálně ty skripty co jsem napsal nahoře vykonají, ale checkbox zůstane zaškrtnutý a toho právě se chci zbavit.

Zkoušel jsem ten kód z rady [#2] dávat do různých částí kódu, ale nikdy mi to nefungovalo.
_es
Profil
MaxDJs:
onmousedown="javascript:majitel_sedadla()"
Do atribútov s JS kódom nepatrí to "javascript:", len JS kód.

id = "sedadlo"
Tie medzery tam nesmú byť.

Najjednoduchšie:
1) odstráň element onmousedown
2) Nahraď ho za: onclick="majitel_sedadla(); return false;"

Prečo vlastne používaš element checkbox, ak má byť znefunkčnený?
Veď JS môže reagovať na kliknutie na hocičo iné.
MaxDJs
Profil *
díky moc už to funguje
Joker
Profil
MaxDJs:
bylo by možno mi poradit, jak udělat aby se checkbox nezaškrtl, když na něj kliknu?

Jakto, že tu ještě nikdo neposlal triviální a obecně funkční řešení:
Prostě mu nastavit atribut disabled;
<input type="checkbox" id="neklikatelny" disabled="disabled">
_es
Profil
Joker:
Prostě mu nastavit atribut disabled
No, lenže potom zase nefunguje onclick.
Joker
Profil
_es:
Aha, tak to jo. V tom případě bych místo checkboxu udělal odkaz.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0