Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Проблема с if...else (https://javascript.ru/forum/dom-window/6248-problema-s-if-else.html)

parzh-junior 20.11.2009 00:29

Проблема с if...else
 
Чё за непонятности?
Есть input type="textbox" (id="futmestext") и input type="button". К button прикреплён скрипт:
function mesadd(){
if(document.getElementById('futmestext').value = ""){alert("Текст сообщения пуст.")} else {alert("Текст принят!")}
}

Ожидается, что скрипт будет проверять значение textbox и, если оно пустое, выводить alert, а он сначала делает это значение пустым, а потом проверяет! Как так????:help:

parzh-junior 20.11.2009 01:28

Спасибо за помощь.

Gozar 20.11.2009 09:59

Не понял, Вы сами нашли?
document.getElementById('futmestext').value = ""
document.getElementById('futmestext').value == ""

parzh-junior 22.11.2009 15:46

Нет, не нашёл. Целый час прождал...
Спасибо за помощь.

B~Vladi 23.11.2009 13:19

Цитата:

Сообщение от parzh-junior
Целый час прождал...

Вай как много...

nemo 23.11.2009 13:51

Цитата:

Целый час прождал...
ве влади по два года пишет сайты а вы.. тьфу!:-/

B~Vladi 23.11.2009 18:00

nemo, раздражать начинаешь уже:-E

sailor1 25.11.2009 03:10

ну что же, про переменные, так про переменные.

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

Итак.
Есть код (моя жалкая попытка собрать из обрывков в и-нете выложенных примеров собрать что-то рабочее) формы отправки сообщений:

function isValidName ( str ) { 
if (str == "") { 
alert ("Введите имя"); 
return false; 
} 
return true; 
} 
function isValidEmailAddress ( str ) { 
if (str == "") { 
alert ("Введите электронный адрес"); 
return false; 
} 
else if ( str.indexOf ( " " , 0) != -1 || str. indexOf ( "@" ,3 ) == -1 || str. indexOf ( "." , 6) == -1 ) { 
alert("Ошибка: " + str + ". Вы уверены, что это электронный адрес?" ); 
return false; 
} 
return true; 
} 
function isValidURL ( str ) { 
if (str == "") { 
alert ("Введите адрес сайта"); 
return false; 
} 
else if ( str.indexOf ( " " , 0) != -1 || str.indexOf ( "http://" , 0) == -1 || str.indexOf ( "." , 8) == -1 ) { 
alert("Ошибка: " + str + ". Вы уверены, что это адрес сайта?" ); 
return false; 
} 
return true; 
} 
function isValidTema ( str ) { 
if (str == "") { 
alert ("Введите тему сообщения"); 
return false; 
} 
return true; 
} 
function isValidNotes ( str ) { 
if (str == "") { 
alert ("Введите текст сообщения"); 
return false; 
} 
return true; 
} 
/*begin!*/
function isValidCode ( str ) { 
if (str == "") { 
alert ("Введите код на картинке"); 
return false; 
} 
else if ( str. indexOf ( "1", "2", "7", 6) == -1 ) { 
alert("Введите, пожалуйста, корректный код" ) ; 
return false 
}
return true 
}
/*end!*/
function checkAll () { 
form = document.forms[0]; 
if (!isValidName(form.elements[0].value)) {form.elements[0].focus(); return false;} 
if (!isValidEmailAddress(form.elements[1].value)) {form.elements[1].focus(); return false;} 
if (!isValidURL(form.elements[2].value)) {form.elements[2].focus(); return false;} 
if (!isValidTema(form.elements[3].value)) {form.elements[3].focus(); return false;} 
if (!isValidNotes(form.elements[4].value)) {form.elements[4].focus(); return false;} 
if (!isValidCode(form.elements[6].value)) {form.elements[6].focus(); return false;}
return true; 
}


Так вот, всё в нём мне нравится, не работает (дописано мною) только окончание - та часть, которая отвечает за проверку введённого кода (выделена красным)...
То есть работает, но как заставить код принимать только вариации картинок с цифрами "1", "2", "7", состоящими из шести цифр?... :(
Может что кто скажет веское?
Заранее благодарен.

Riim 25.11.2009 03:50

http://www.pcre.ru/

sailor1 25.11.2009 03:52

Riim,
Спасибо, но это я уже читал, и не только это...
не помогает.

Забыл сказать, сайт на народе.ру, там не проходит PHP...

Понимаю что задница, а вот где она начинается и заканчивается в коде - не могу понять... :(


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