Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   доделать надо( (https://javascript.ru/forum/misc/37119-dodelat-nado.html)

viktor92 08.04.2013 15:02

доделать надо(
 
вобщим есть код программы который не до конца работает суть кода в том что в поле вводится текст с цыфрами и должен проверить и подсчитать сколько введено цифр! если цифр нет выводит соответствуещее окно!!!
помогите пожайлуста!)
<html>
<head>
<script language="javascript">
function schet()
{
var text = document.getElementById('text');
if(s!=null) 
{
  var s = s.length; 
alert('текст містить ' + s.length + ' цифр(и)');
}
else  alert('Текст не містить цифр');
}
</script>
</head>
<body>
введіть текст для перевірки:
<p>
<textarea id="text"></textarea>
<p>
<input id='but1' type="button" value="перевірити" name="myButton" onClick="schet()">
</p>
</body>
</html>

rgl 08.04.2013 15:31

Девятую строчку (var s = s.length; ) удалить
Между шестой и седьмой вставить
var s = text.value;
Проверку условия if(s!=null) заменить на if(s!="") или просто на if(s)

Vasy 08.04.2013 15:33

Я несовсем понял что вообще за переменная s?Чем она являетса?Вы ёё используете до ёё обьявления?Да и что вы хотели что бы оно вам выдало под s.length,оно бы ничево не выдало это же просто какаето переменная,левая скажем так

Проблема в том что text.length будет udentifind.И поэтому сначала в какуето переменную нужно получить текст хранящие в тектовом поле потом получить его длинну а потом только делать условия.Возможно это можно решить как-то получше,я сделал так.


<html>
<head>
<meta  charset="utf-8" />
<script language="javascript">
 
function schet()
{
 
var text = document.getElementById('text');
var k=text.value;
 
 
if(k.length!=0)
{
 var s = k.length;
alert('текст содержит ' + s + ' цифр');
}
else {
     
 alert('текст не содержит цифр');
 }
}
</script>
</head>
<body>
введите текст для проверки
<p>
<textarea id="text"></textarea>
<p>
<input id='but1' type="button" value="перевірити" name="myButton" onClick="schet()">
</p>
</body>
</html>

rgl 08.04.2013 15:34

textarea заменить на input type="text"

rgl 08.04.2013 15:36

Цитата:

Сообщение от Vasy
Я несовсем понял что вообще за переменная s

Это ваш код?

rgl 08.04.2013 15:37

Цитата:

Сообщение от Vasy
Проблема в том что text.length будет udentifind.

Конечно. Нужно text.value.length

Vasy 08.04.2013 15:38

Цитата:

Сообщение от rgl (Сообщение 244823)
Это ваш код?

Нет,но челвоек использует какуето переменную для какого-то условия которая не как не относилась у него к его текстовому полю.


Конечно. Нужно text.value.length

Я разве сделал не так?Ну только не в 1 строку а в 2.нет?

rgl 08.04.2013 15:48

<html>
<head>
<script language="javascript">
 
function schet()
{
  var textLength = document.getElementById('text').value.length;
  if( textLength )
    alert('текст содержит ' + textLength + ' цифр');
  else
    alert('текст не содержит цифр');
}
</script>
</head>
<body>
введите текст для проверки
<p>
<input type="text" id="text">
<p>
<input id='but1' type="button" value="перевірити" name="myButton" onClick="schet()">
</p>
</body>
</html>

viktor92 08.04.2013 15:48

пробовал сделать по вашим совета и когда ввожу просто текст в поле выводит что это все цыфры!!!

rgl 08.04.2013 15:51

<html>
<head>
<script language="javascript">
 
function schet()
{
  var textLength = document.getElementById('text').value.replace(/\D/g,"").length;
  if( textLength )
    alert('текст содержит ' + textLength + ' цифр');
  else
    alert('текст не содержит цифр');
}
</script>
</head>
<body>
введите текст для проверки
<p>
<input type="text" id="text">
<p>
<input id='but1' type="button" value="перевірити" name="myButton" onClick="schet()">
</p>
</body>
</html>

viktor92 08.04.2013 15:54

спасибо большое!!! все работает!)

viktor92 08.04.2013 15:57

а что такое "value.replace(/\D/g,"")"

Vasy 08.04.2013 16:01

Цитата:

Сообщение от viktor92 (Сообщение 244838)
а что такое "value.replace(/\D/g,"")"

google не помогает?
replace-Этот метод не меняет вызывающую строку, а возвращает новую, после замен.
Тоесть ты все буквы меняеш на пустое место.


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