Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Проблема с onkeyup (https://javascript.ru/forum/misc/59552-problema-s-onkeyup.html)

mephistop 16.11.2015 12:26

Проблема с onkeyup
 
Есть такой код.

<textarea onkeyup="duble.value = this.value">
<input class="myInput" id="duble" type="text" />

<script> 
  $(document).ready(function(){   
    $('.myInput').keyup( function() {
        var $this = $(this);
        if($this.val().length > 10)
            $this.val($this.val().substr(0, 10));           
    });
     });
</script>


Проблема в чем. Несмотря на то что я ограничил input 10-ю символами все равно когда пишешь в textarea больше десяти символов на inpute отображается больше 10 - ти. Как решить проблему?
Спасибо за любую помощь.

ksa 16.11.2015 13:16

Цитата:

Сообщение от mephistop
Несмотря на то что я ограничил input 10-ю символами все равно когда пишешь в textarea больше десяти символов на inpute отображается больше 10 - ти. Как решить проблему?

Оно?

<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='http://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
</style>
<script type='text/javascript'>
</script>
</head>
<body>
<textarea onkeyup="duble.value = this.value.substr(0, 10);"></textarea>
<input class="myInput" id="duble" type="text" />

<script> 
$(document).ready(function(){   
	$('.myInput').keyup( function() {
		var $this = $(this);
		if($this.val().length > 10)
			$this.val($this.val().substr(0, 10));           
	});
});
</script>
</body>
</html>

Mess4me 16.11.2015 13:34

mephistop,
<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>

    <title></title>
</head>
<body>
<textarea> </textarea>
<input class="myInput" id="duble" type="text"   />

<script>


    $(document).ready(function () {
        $('textarea').keyup(function () {
            var text = this.value;

            var l = $('#duble').val().length;

            if(l > 10){
                $('#duble').val($('#duble').val());
                return;
            }
            $('#duble').val(text);

        })


    })


</script>

</body>
</html>

mephistop 17.11.2015 15:58

Цитата:

Сообщение от Mess4me (Сообщение 396337)
mephistop,
<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>

    <title></title>
</head>
<body>
<textarea> </textarea>
<input class="myInput" id="duble" type="text"   />

<script>


    $(document).ready(function () {
        $('textarea').keyup(function () {
            var text = this.value;

            var l = $('#duble').val().length;

            if(l > 10){
                $('#duble').val($('#duble').val());
                return;
            }
            $('#duble').val(text);

        })


    })


</script>

</body>
</html>

Большое спасибо.

mephistop 18.11.2015 02:33

Цитата:

Сообщение от Mess4me (Сообщение 396337)
mephistop,
<!DOCTYPE html>
<html>
<head lang="en">
    <meta charset="UTF-8">
    <script src="//code.jquery.com/jquery-1.11.3.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>

    <title></title>
</head>
<body>
<textarea> </textarea>
<input class="myInput" id="duble" type="text"   />

<script>


    $(document).ready(function () {
        $('textarea').keyup(function () {
            var text = this.value;

            var l = $('#duble').val().length;

            if(l > 10){
                $('#duble').val($('#duble').val());
                return;
            }
            $('#duble').val(text);

        })


    })


</script>

</body>
</html>

Оно. Большое спасибо.


Часовой пояс GMT +3, время: 23:35.