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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> проблемы с CASE 
V
    Опции темы
pythonwin
Дата 31.10.2006, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Всем привет!
Помогите, пожалуйста:
я делаю проверку значения поля (в этой части всё работало). но код получился почти не читаемый и я начал использовать switch case, после чего код перестал работать smile

Код

<!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" xmlns:py="http://purl.org/kid/ns#">
<head>
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>title</title>
<script type="text/javascript">
f1 = function (elem1){
switch (elem1.getAttribute("type_i")) {
case 1: 
    if (!elem1.value.match(/^\d*$/)||elem1.value==''){
    alert("not integers + ");
    return false;}
    else alert(12)
case 2: 
    if (elem1.value=='-.'){elem1.value=''};
    if (elem1.value=='.') {elem1.value=='0.0'}
    if (!elem1.value.match(/^\-?\d*\.?\d*$/)||elem1.value==''){
    alert("not float");
    return false;}
case 4: 
    if (elem1.value=='.') {elem1.value=='0.0'}
    if (elem1.value.match(/^\d{0,10}\.?$/)&&elem1.value!='') {elem1.value==elem1.value+'0'}
    if (!elem1.value.match(/^\d{0,10}\.?\d{0,2}$/)||elem1.value==''){
    alert("not currency");
    return false;}
case 5: 
{
    alert(5)
    if (!elem1.value.match(/^\-?\d*$/)||elem1.value==''){
    alert("not integers");
    return false;}}
case 6: 
    if (elem1.value=='.') {elem1.value=='0.0'}
    if (!elem1.value.match(/^\d*\.?\d*$/)||elem1.value==''){
    alert("not float");
    return false;}
}}
</script>
</head>

<body>

<form method="POST" name="TForm1" action="--WEBBOT-SELF--" onsubmit="javascript: return f1(this.intField_id);">
    <!--webbot bot="SaveResults" U-File="C:\test2\test2\test_html\_private\form_results.csv" S-Format="TEXT/CSV" S-Label-Fields="TRUE" -->
    <table>
    <tr>
    <td>
    <input type="text" name="T1" id="intField_id" size="20" type_i="1">
    </td>
    <td>
    <table>
    <tr>
    <td>
    <img border="0" src="../static/arrow_up.gif" width="11" height="5">
    </td>
    </tr>
    <tr>
    <td>
    <img border="0" src="../static/arrow_down.gif" width="11" height="5">
    </td>
    </tr>
    </table>
    </td>
    </tr>
    </table>
    <p><input type="submit" value="send" name="B1"><input type="reset" value="reset" name="B2"></p>
</form>

</body>

</html>


Это сообщение отредактировал(а) pythonwin - 31.10.2006, 16:28
PM WWW GTalk Jabber   Вверх
GIK
Дата 31.10.2006, 17:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Добрый человек
**


Профиль
Группа: Участник
Сообщений: 985
Регистрация: 3.6.2005
Где: я только не небыв ал

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



Ты в case проверяешь константу цифру, а атрибут type_i  имет тип char, или String (в JS)
Так что можешь сделать так:
case "1":
или конвертить данные из атрибута: type_i="1"
в тип int 


Это сообщение отредактировал(а) GIK - 31.10.2006, 17:03


--------------------
Математика=>пиво=> програмирование, три вещи последовательны и совместимы !!!
Программирование - это не деятельнось! Программирование - это состояние души!
Бог - самый крутой программист.
PM MAIL ICQ   Вверх
Nicholas_S
Дата 31.10.2006, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 486
Регистрация: 12.10.2006
Где: Санкт-Петербург

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



Вот примерно так это должно выглядеть (не забывай также про оператор break внутри switch()):
Код

...
function f1 (elem1)
{
  switch (parseInt(elem1.getAttribute("type_i")))
  {
    case 1:
      if (!elem1.value.match(/^\d*$/)||elem1.value=='')
      {
        alert("not integers + ");
        return false;
      }
      else
        alert(12)
    break;
  }
}
</script>
</head>
<body>
<form method="POST" onsubmit="return f1(document.getElementById('intField_id'));">
...



--------------------
...все в мире относительно
PM   Вверх
pythonwin
Дата 1.11.2006, 07:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



GIK, Nicholas_S,  спасибо! smile
PM WWW GTalk Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




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


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

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