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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Картинка в случаи неправильного ввода 
:(
    Опции темы
Syltan
Дата 26.4.2010, 01:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Хочу сделать при неправильном вводе отобразить картинку крестик, дело в том, что вроде всё получается но, проблемма в том, что при неправильном вводе отображается картинка крестик и сдвигает поле вправо, вместе с текстом расположенном сдева от поля ввода ,потому что оно вначале у меня спрятано , display:none, а после неправильного ввода, у меня возле поля <input type='text> отображается крестик, которій сдвигает текст вместе со всем вправао.

Как сделать, чтоб когда картинка находится в ноне(невидимая),

она занимала место, а не смещалось текствоое поле к тектсу расположенному слева от текстового поля, в котором написанно "Введите "?


PM MAIL   Вверх
EmilRegis
Дата 26.4.2010, 07:24 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



visibility:hidden(visible) ?
PM MAIL   Вверх
skyboy
Дата 26.4.2010, 08:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


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


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

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



или же сделать <img> и <input> в отдельных слоях с фиксированными размерами/позициями.
обычно при построении формы именно так добиваются, чтоб надписи и поля формы были каждый на своем уровне - либо ячейки таблицы, либо <div> с жестко заданными размерами
PM MAIL   Вверх
ksnk
Дата 26.4.2010, 09:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

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



еще забавный вариант - бякграундом на поле ввода выводить крестик.


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Syltan
Дата 26.4.2010, 16:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Проблеммы произошли всё таки вот архив, гляньте пожалуйста, мне нужно чтоб при неправильном вводе, то есть если ввести что-то кроме цифер с нуля до 9, и кроме точки, а затем перейдя на ввод в др. текстовом поле, должен появится крестик, но он не повляется, пробую делать во ттак, но не выходит чего-то. Мне нужно вычислить пример, в случаи ошибки чтоб отображалось именно крестик на том поле где введено что-то неверно. Вот я переделал. программа должна вычислять пример, но что-то не получается, вот результат.
У меня как-то находу результат идёт в поле результат, а мне нужно после нажатии на кнопку решить чтоб отображался. Дальше, если неправильно ввести что-то в поле, а затем перейти на другое поле, крестик не появляется, что делать, вот обновил архив. И при нажатии на кнопку решить, она зависает что-то. Скажите, оно хоть правильно решает? И ещё, мне нужно чтоб в поле результат не отображалась надпись после ввода в поле с, надпись Nan. 

Вот архив.

Это сообщение отредактировал(а) Syltan - 26.4.2010, 19:21

Присоединённый файл ( Кол-во скачиваний: 5 )
Присоединённый файл  _______.rar 3,49 Kb
PM MAIL   Вверх
EmilRegis
Дата 27.4.2010, 09:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Нафиг вы архивы прилепляете к сообщению, кому охота их скачивать и смотреть? приводите тестовый пример прям тут...
щас немного разберём, что у вас написано
Код

<script type='text/javascript'>
function f() {
var vvod=/^[0-9.]+ $/;
var pero = document.getElementById('inp');
if(pero.value.search(a)== -1)
{  
  pero.style.visibility = "visible";   
}
  var inp4 = document.getElementById('metka');
  var a,c,d;
  a = document.forms[0].elements[0].value;
  c = document.forms[0].elements[1].value;
  d = document.forms[0].elements[2].value;
  
  if( (2*c/a) != 0 && c!=0)
  {
   var rez = 2*c/a - d*d/d+a-1;
   inp4.value = rez;
}
}
</script>
<body leftmargin="200" topmargin="50" >
<table align='center' border=10 cellspacing=50>
<tr>
  <td>
<form name='forma'  >
<div class=' kaloriitable'>Решение задачи №1 </div> <br>

<table cellspacing=10 cellpadding=10 border=5 bordercolor=green; >
    <tr >
       <td >Введите а &nbsp 
<input type='text'  size=5 maxlength=6 id='inp' onblur='f()'>
 <image align='absmiddle'  src='krestik.jpg' style='visibility:hidden;'>

    <td>
 <input type='button' value='Получить результат' id='metka' onclick='f()'>
   </td>
</tr>
</table>

</form>

1) У вас html-код не валидный...форма находится в таблице table, у которой даже закрывающих тегов нету...некоторые теги <td> так же не закрываются
2) id всегда должен быть один, нафиг назначать один и тот же id разным элементам? что скрипт должен получать по getElementById? как он догадается, что именно вы ищете, если у вас этих элементов 3 штуки...
Или присваивайте им разные id-шники или добавьте им одинаковый name и получайте список элементов по getElementsByName и в цикле эти элементы перебирайте...
3) строчка if(pero.value.search(a)== -1)
Как с этим связана ваша регулярка vvod? и что за переменная a? она даже не определена никак до этого места
4) вот это 
Код

a = document.forms[0].elements[0].value;
c = document.forms[0].elements[1].value;
d = document.forms[0].elements[2].value;
 
забудьте и никогда так не делайте)))
когда вы присвоите name вашим инпутам, то в цикле, перебирающем эти инпуты и определите их значения...
5) вы пишете 
Код

var pero = document.getElementById('inp');
if(!vvod.test(pero.value))
{  
  pero.style.visibility = "visible";   
}

при этом у вас элемент с id='inp' это текстовое поле...вы его хотите сделать видимым, так оно и так видимое...картинку при этом ни коим образом не упоминаете...

6) если нужна регулярка для чисел от 0 до 9, то это наверное что-то типа var vvod=new RegExp("^[0-9.]$");


PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




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


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

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