Javascript-форум (https://javascript.ru/forum/)
-   Работа (https://javascript.ru/forum/job/)
-   -   Не могу справиться с задачей (https://javascript.ru/forum/job/17043-ne-mogu-spravitsya-s-zadachejj.html)

nekifrovv 03.05.2011 20:22

Не могу справиться с задачей
 
Здравствуйте, надо решить одну задачу, но поскольку я в js не силен, решил обратить за помощью на форум.

Есть форма:

<form action="" method="post" name="mainForm">
<input type="text" name="fname" size="20" onkeyup="changeButtonStatus()" onchange="changeButtonStatus()">
<input type="text" name="fnphone" size="20" maxlength="10" onkeyup="return proverka(this);" onchange="return proverka(this);">
<input type="text" name="ftheme" size="20" onkeyup="changeButtonStatus()" onchange="changeButtonStatus()">
<textarea name="fcom" cols="30" rows="5" onkeyup="changeButtonStatus()" onchange="changeButtonStatus()"></textarea>
<input type="submit" value="Отправить" name="doSend">
</form>

И обрабатывающий java script

<script type="text/javascript">
function proverka(input) {
input.value = input.value.replace(/[^\d,]/g, '');
};

var f=document.mainForm;
function changeButtonStatus(){
f.doSend.disabled=(f.fname.value && f.ftheme.value && f.fcom.value) ? false : true;
}
changeButtonStatus();
</script>

В данный момент все поля кроме второго влияют на кнопку ОТПРАВИТЬ. Кнопка отправить становится активной после заполнения всех полей кроме второго (что плохо), и становится не активной если из какого-нибудь поля что-нибудь стерли. И также скрипт не позволяет ввести во второе поле ничего кроме цифр.

Задача была сделать так, что кнопка ОТПРАВИТЬ активируется только после того, как все поля формы будут заполнены. При чем второе поле должно иметь только цифирные значения. Еще во втором поле должно быть не больше и не меньше 10 символов, иначе кнопка ОТПРАВИТЬ должна быть не активна. Подскажите, как можно поправить этот скрипт, чтобы получить желаемое ?

Оч нужно разобраться с этим вопросом..
За помощь в решении задачи 200р яндекс денег на пиво ))

nekifrovv 03.05.2011 22:03

Спасибо! Вопрос решен!

B~Vladi 04.05.2011 11:37

Пажалуцто, обращайся.


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