Jump to content
  • 0

Скрипт для ввода символов


Алексей2802
 Share

Question

Есть некий код, где для ввода цифр в <input> используются символы, заключенные в <button>.

С помощью maxlenght=4 тега <input>  удалось ограничить ввод символов в него до 4-х, но только с клавиатуры.

Но если вводить цифры нажатием на символы в <button>, работает скрипт, цифры вводятся, но ограничение на 4 символа не работает.

1. Подскажите, как исправить это.

2. Как по достижении 4-х символов в <input> выводить функцию?? (какую - неважно)

 

<html>
<head>
<title></title>
<meta name="keywords" content="">
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<link rel="shortcut icon" href="" type="image/png">
<link rel="stylesheet" type="text/css" href="">
<script type="text/javascript">
$(document).ready(function(){   
    $("#input").keyup( function() {
        var $this = $(this);
        if($this.val().length > 4)
            $this.val($this.val().substr(0, 4));           
    });
     });
 function setFocus(){
      document.getElementById("input").focus();
      }
function check_number(obj) {
  obj = (obj) ? obj : window.obj
  var charCode = (obj.which) ? obj.which : obj.keyCode
  if (charCode > 31 && (charCode < 48 || charCode > 57)) {
    status = "В данное поле можно вводить только цифры"
    return false;
  }
  status = \'\';
  return true;
}
</script>
<style type="text/css">
body, html {height:100%;width:100%;padding:0;margin:0;-webkit-user-select: none;-moz-user-select: -moz-none;font-weight:900;}
td {padding:2px;text-align:center;outline:none;border-radius:25px;}
button {width:70px;height:70px;outline:none;padding:0px;border-radius:25px;}
button:hover {box-shadow: 0 0 10px rgba(0,0,0,0.5);}
input {position:relative;background-color:#eee;width:100%;height:40px;border:1px groove gray;
outline:none;text-align:center;border-radius:25px;font-size:25px;}
#calc {position:relative;width:280px;padding:10px 20px 30px;border:2px double black;left:100px;top:100px;border-radius:15px;}
p {font-weight:bold;}
span {font-weight:bolder;font-size:25px;}
</style>
</head>
<body onload="setFocus()">
 
<div id="calc" align="center">
<table>
<tr><td colspan="3"><input id="input" value="" maxlength=4 onKeyPress="return check_number(event);"></input></td></tr>
<tr>
<td><button type="submit" onclick="document.getElementById("input").value+="1"; return false;" value = "1"><span>1</span></button></td>
<td><button type="submit" onclick="document.getElementById("input").value+="2"; return false;" value = "2"><span>2</span></button></td>
<td><button type="submit" onclick="document.getElementById("input").value+="3"; return false;" value = "3"><span>3</span></button></td>
</tr>
<tr>
<td><button type="submit" onclick="document.getElementById("input").value+="4"; return false;" value = "4"><span>4</span></button></td>
<td><button type="submit" onclick="document.getElementById("input").value+="5"; return false;" value = "5"><span>5</span></button></td>
<td><button type="submit" onclick="document.getElementById("input").value+="6"; return false;" value = "6"><span>6</span></button></td>
</tr>
<tr>
<td><button type="submit" onclick="document.getElementById("input").value+="7"; return false;" value = "7"><span>7</span></button></td>
<td><button type="submit" onclick="document.getElementById("input").value+="8"; return false;" value = "8"><span>8</span></button></td>
<td><button type="submit" onclick="document.getElementById("input").value+="9"; return false;" value = "9"><span>9</span></button></td>
</tr>
<tr><td colspan="3"><button style="position:relative;width:90%;height:50px;" type="submit" onclick="document.getElementById("input").value+="0";return false;" value = "0"><span>0</span></button></td><td></td></tr>
</table>
</div>
 
</body>
</html>
 
Link to comment
Share on other sites

4 answers to this question

Recommended Posts

  • 0

 

ну я тут немного набросал. вроде работает))

http://codepen.io/Z1gnet/pen/wBeZjR

Спасибо ))

 

но у меня был второй вопрос: как выводить функцию при заполнении input 4-мя цифрами??

нашел как это сделать, но работает немного не так, т.е. при заполнении инпута 4-мя цифрами чтобы появился скрытый блок надо нажать мышкой в любом месте, а надо чтоб сразу появлялся при 4-х цифрах в инпуте. И не работает, если вводить нажатием на цифры, заключенные в <button>.

http://jsfiddle.net/2dL9qtgk/5/

и зачем в начале <div class="aa"> ??

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy