![]() |
|
Модераторы: Sardar, Aliance |
![]()
|
|
| lexxxart |
|
||||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 7.9.2009 Репутация: нет Всего: нет |
Люди добрые помогите пожалуйста написал бланк..
есть два параметра которые влияют на условие - limiti и ostatok есть поля инпут
Если я ввожу в поле значение - то запускается скрипт
Скрипт проверяет условия - если значение больше лимитов то должно выскакивать алерт и туда куда я вводил подставляться последне значение из условия, или как можно сделать чтобы сначала обрабатывалось условие, а потом поле инпут позволяло вводить данные...??? вот функция function do_math2(p,limit,ostatok) { var el=document.blank.elements; tot_sum2 = 0; t1 = parseFloat(el['st1_big['+p+']'].value); t2 = parseFloat(el['st2_big['+p+']'].value); ttt = ( isNaN(t1) ? 0 : t1) + ( isNaN(t2) ? 0 : t2); //удаление пробелов - НЕ НАДО ТАК КАК Я удаляю в пхп - и там символ разделителя!!! /*var tempi = ""; limit = '' + limit; splitstring = limit.split(" "); for(i = 0; i < splitstring.length; i++) tempi += splitstring[i]; //return temp; //return temp0; limit=tempi;*/ //lim1 = limit.trim(/\s+/g, ''); // замена на точку у лимита out = ","; // эту букву заменяем add = "."; // на эту букву temp = "" + limit; // temporary holder while (temp.indexOf(out)>-1) { pos= temp.indexOf(out); temp = "" + (temp.substring(0, pos) + add + temp.substring((pos + out.length), temp.length)); } limit = parseFloat(temp)*1; // замена на точку у остатка out2 = ","; // эту букву заменяем add2 = "."; // на эту букву temp2 = "" + ostatok; // temporary holder while (temp2.indexOf(out2)>-1) { pos2= temp2.indexOf(out2); temp2 = "" + (temp2.substring(0, pos2) + add2 + temp2.substring((pos2 + out2.length), temp2.length)); } ostatok = parseFloat(temp2)*1; //замена , на точку limit_razn=ttt-limit; limit = ( isNaN(limit) ? 0 : ostatok); ostatok = ( isNaN(ostatok) ? 0 : ostatok); alert("\n остаток: " + ostatok); // если больше лимита if (ttt>limit) { alert("\n Вы превысили лимит на: " + limit_razn + "\n Также у вас есть остаток: " + ostatok); // + условие если остток больше нуля - el['st_ob['+p+']'].value = limit - ostatok; el['st1_big['+p+']'].value = limit - ostatok; el['st2_big['+p+']'].value=''; } if (ttt<=limit) { if (ostatok>0) { el['st_ob['+p+']'].value = ( isNaN(t1) ? 0 : t1) + ( isNaN(t2) ? 0 : t2) - ostatok; } else {el['st_ob['+p+']'].value = ( isNaN(t1) ? 0 : t1) + ( isNaN(t2) ? 0 : t2);} } // if (el['st_ob['+p+']'].value>1) { alert("\n Вы превысили лимит : " + ostatok );} for (k = 1; k <= 13; k++) { tot_sum2 = tot_sum2 + (isNaN(parseFloat(el['st_ob['+k+']'].value)) ? 0 : parseFloat(el['st_ob['+k+']'].value)) ; el['itogo'].value = tot_sum2; } } Наверно проще сделать проверку а потом разрешение на ввод в инпут, чем откуда то выбирать предпоследнее значение???? Помогите плиз... |
||||
|
|||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | JavaScript: для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |