Input checkbox v Firefoxu, Opeře a v IE
Nedávno jsem řešil celkem jednoduchou věc, ve formuláři byl checkbox, který při změně měl část formuláře schovat.
... <input type="checkbox" onChange="zmen()" /> ...
Celkem triviální s tím rozdílem, že to nefunguje v Internet Exploreru (zkoušel jsem IE7). Prostudoval jsem na MSDN dokumentaci a tam jsem se dočel, že metodu onChange sice IE podporuje, ale jen pro type=’text’.
... <input type="checkbox" onClick="zmen()" /> ...
Tak jsem si řekl, že metodu onChange nahradím onClick a mám vyhráno, ale ouvej, to zase nefungovalo ve Firefoxu a Opeře. Proto detekuji IE a podle toho Smarty rozhodí možnost na onChange nebo onClick. Osobně si myslím, že onChange je logická, netuším proč v IE podpora chybí.
// Detekce IE
$ie = strpos($_SERVER["HTTP_USER_AGENT"], 'MSIE') ? true : false;
$ie = strpos($_SERVER["HTTP_USER_AGENT"], 'Opera') ? false : $ie;
if($ie)
{
$smarty->assign('ie', true);
}
else
{
$smarty->assign('ie', false);
}