Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Тип переменной 
:(
    Опции темы
bms
Дата 20.7.2006, 16:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 9.4.2006
Где: Украина г.Житомир

Репутация: нет
Всего: нет



У меня есть TextBox. Пользователь вводит туда значение и жмёт кнопку, и мне надо пропустить значение если оно типа float. А как определить тип переменной я не знаю. Help me. 
PM MAIL ICQ   Вверх
skyboy
Дата 20.7.2006, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 10
Всего: 260



bms, если проверять значение textbox'a - то это будет строка. Ты имеешь в виду проверку, является ли строка корректным числом? 
PM MAIL   Вверх
bms
Дата 20.7.2006, 17:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 9.4.2006
Где: Украина г.Житомир

Репутация: нет
Всего: нет



Цитата(skyboy @ 20.7.2006,  17:00)
bms, если проверять значение textbox'a - то это будет строка. Ты имеешь в виду проверку, является ли строка корректным числом?

да. если введённое значение корректно, то мне его потом надо записать в БД, в поле типа float. 
PM MAIL ICQ   Вверх
skyboy
Дата 20.7.2006, 17:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 10
Всего: 260



textbox = input type="text"?
можешь воспользоваться регулярными выражениями:
Код

<html>
 <head>
    <title></title>
  <script type="text/javascript">
  <!--
  function check()
  {
   var mytext= document.getElementById("mytext");
   return (mytext.value.search(/^(-{0,1})(\d{1,})((.{0,1})(\d{1,})){0,1}$/)!=-1);
  }
  -->
  </script>
 </head>
 <body>
 <form action="http://www.google.com" method="POST">
 <input type="text" id="mytext" />
 <input type="submit" onclick="return check();"/>
 </form>
 </body>
</html>


Добавлено @ 17:39 
впрочем, может случится, что я изобретаю велосипед и в javascript  существует функция наподобие TryStrToFloat в Делфи... 
PM MAIL   Вверх
bms
Дата 20.7.2006, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 9.4.2006
Где: Украина г.Житомир

Репутация: нет
Всего: нет



не работает чё-то
ввожу строку и она пропускаеться.
может в javascripte есть функции типа parseFloat или ещё что-то 
PM MAIL ICQ   Вверх
skyboy
Дата 20.7.2006, 19:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 10
Всего: 260



bms, у меня - не пропускается... а у тебя javascript включён?
давай сюда строку, которая пропускается smile 
PM MAIL   Вверх
bms
Дата 21.7.2006, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 41
Регистрация: 9.4.2006
Где: Украина г.Житомир

Репутация: нет
Всего: нет



ASP.NET

Вот так вот не работает

Код

<asp:TextBox ID="TextBox4" runat="server" Width="202px"></asp:TextBox>
<script language="javascript">
function isFloatCheck(source, arguments)
{   
   if (arguments.Value.search(/^(-{0,1})(\d{1,})((.{0,1})(\d{1,})){0,1}$/)!=-1))arguments.IsValid=true;
    else arguments.IsValid=false;
}
 </script>                
 <asp:CustomValidator ID="CustomValidator1" runat="server" ControlToValidate="TextBox4"
 ErrorMessage="Should be float" ClientValidationFunction="isFloatCheck"></asp:CustomValidator>


А вот так наполовину работает 

Код

<asp:TextBox ID="TextBox4" runat="server" Width="202px"></asp:TextBox>
    <script language="javascript">
        function isFloatCheck(source, arguments)
        {   
            if (parseFloat(arguments.Value))arguments.IsValid=true;
             else arguments.IsValid=false;
         }
    </script>                
<asp:CustomValidator ID="CustomValidator1" runat="server" ControlToValidate="TextBox4"
         ErrorMessage="Should be float" ClientValidationFunction="isFloatCheck"></asp:CustomValidator>


При таком коде пропускаеться к примеру токае - 2,122dfg
Надо ещё только както обрезать ненужную часть
Пробовал писать так
Код

if (parseFloat(arguments.Value)){arguments.Value = parseFloat(arguments.Value); arguments.IsValid=true;}
   else arguments.IsValid=false;

но почему то текстбоксу не присваиваеться значение обрезанное функцией parseFloat.

Добавлено @ 11:34 
Кстати вот код на C# работает отлично, но проверка выполняеться на сервере

protected void CustomServerVal(object source, ServerValidateEventArgs args)
{
        try
        {
            float f = float.Parse(args.Value);
            args.IsValid = true;
        }
        catch(FormatException)
        {
            args.IsValid = false;
        }
}

Можно ли такое организовать на javascripte? 

Это сообщение отредактировал(а) bms - 21.7.2006, 11:30
PM MAIL ICQ   Вверх
skyboy
Дата 21.7.2006, 11:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 10
Всего: 260



Цитата(bms @  21.7.2006,  11:29 Найти цитируемый пост)
ASP.NET

может, в этом и отличие? У меня - "обычная" HTML форма, отправку которой можно прервать просто возвратив в onsubmit false... 
У меня в моей доке без ASP число  2,122dfg не прошло. А ASP я не знаю вовсе. smile 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0825 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.