webForumDet fria alternativet

Siffra förlorar markering vid tabb i IE

JavaScript

0 svar · 201 visningar · startad av Addeladde

Medlem sedan jan. 20013 406 inlägg
Frågan#1

Hej

Jag har en sida med några rutor på där man kan fylla i siffror. Input-fälten kontrolleras vid varje knapptryckning så att inget annat tecken än just siffror används. I FF kan man tabba mellan rutorna och att sifran som redan är ifyllld då blir markerad men i IE så blinkar markeringen till och så förlorar siffran focus.

Någon som har en lösning på detta? Se koden nedan:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
  <title>Slask</title>
  <style>
    input { width: 22px; border: solid 1px #333; padding: 1px; text-align: right; }
  </style>
  <script type="text/javascript">
  function right(str,n){
    return str.substring(str.length-n);
  }
  
  function validateTimeInput(v){
          if(!v.value.match(/^[,0-9]+$/i)){v.value=(v.value.match(/[,0-9]+/i))?v.value.match(/[,0-9]+/i):''; }
          
          if(v.value.length>0){
                if(isNaN((v.value.replace(",",".")))==false){
                  if(right(v.value,1)!=","){
                    v.value = ((Math.round(eval(v.value.replace(",","."))*10)/10)+"").replace(".",",");
                  }
                }
           }
      }
  </script>
</head>
<body>
  <table border="0" cellspacing="0" cellpadding="0">
    <tr>
      <td><input type="text" name="tb1" id="tb1" onkeyup="validateTimeInput(this)" value="2" /></td>
      <td><input type="text" name="tb2" id="tb2" onkeyup="validateTimeInput(this)" value="4" /></td>
    </tr>
  </table>
</body>
</html>
264 ms totalt · 4 externa anrop · v20260731065814-full.86ec41c2
119 ms — deklarationer (db)
0 ms — hämta statistik (cache)
135 ms — hämta tråd, inlägg och bilagor (db)
127 ms — ändringar (db)