Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Помогите со скриптом


Автор: Гость_Олег 14.3.2004, 23:25
Уважаемые программисты!

Помогите, пожалуйста, с двумя несложными JavaScriptами. Я не программист, но создаю сайт и мне нужно сделать следующее. У меня есть форма. В ней 11 полей для заполнения.

1. Поле 5 сделано для ввода пароля. Поле 6 для повторного ввода пароля. Нужен скрипт для проверки совпадения пароля в поле 6 с паролем в поле 5. Желательно, чтобы выводилось окошко об ошибке (если пароли не совпадают) сразу после переключения с поля 6 на любое другое поле.
2. Поле 10 является combo box. В нем четыре опции, которым я дал value a, b, c и d. Нужен скрипт, который при выборе в combo box опции a выдавал бы в поле 11 число 100, при b число 200, при c число 300 и при d число 400. Как это сделать?

Буду благодарен за любую помощь.

Олег


Автор: Gold Dragon 15.3.2004, 09:41
Посмотри.

Наворочено, но можно, наверное, упростить

<form name="forma">
<input name="pas1" type="password" onblur="ww(1)">
<input name="pas2" type="password" onblur="ww(2)">
</form>

<script>
var inp1,inp2=false
function ww(a){
if (a==1 && document.forma.pas1.value!=""){inp1=true}
if (a==2 && document.forma.pas2.value!="" && inp1==true){inp2=true}
if (inp1==true && inp2==true){
if (document.forma.pas1.value!=document.forma.pas2.value){
alert ("Пароль не совпадает!")
document.forma.pas1.value=""
document.forma.pas2.value=""
document.forma.pas1.focus()
}
}
}
</script>


Автор: Gold Dragon 15.3.2004, 10:01
не совсем понял, что такое combo box. Посмотри это

<form name="forma">
<input name="cd" type="radio" value="a" onclick="qq(100)">
<input name="cd" type="radio" value="b" onclick="qq(200)">
<input name="cd" type="radio" value="c" onclick="qq(300)">
<input name="cd" type="radio" value="d" onclick="qq(400)">
<input type="text" name="text" value="элемент не выбран">
</form>

<script>
function qq(a){document.forma.text.value=a}
</script>

Автор: Гость_Олег 15.3.2004, 10:14
Red Dragon oгромное спасибо! Я попробую вечером и посмотрю какой будет результат. Я делаю сайт в NetObjects 7. Надеюсь, все сработает.

Red Dragon, combo box - это поле, которое имеет несколько опций для выбора. Наверное, на нормальном русском языке это звучит как "окно прокрутки со списком позиций для выбора".

Еще раз спасибо!

Автор: GoodBoy 15.3.2004, 11:50
Цитата
Наверное, на нормальном русском языке это звучит как "окно прокрутки со списком позиций для выбора".
Дольго смеялься!!! :-))))))))
Вообще, если мне не изменяет память, ComboBox - это Дельфово/Билдерное название... А по русски - это "выпадающий список". :-)))))))))

Автор: Гость_Олег 15.3.2004, 14:01
В словаре такой перевод... Я в программирование чайник, так что извините... confused.gif

Автор: Alx 15.3.2004, 14:55
ни за что!!!!!!!

( smile.gif )

Автор: Гость_Олег 15.3.2004, 21:34
Нифига не получается... sad.gif

Автор: Alx 15.3.2004, 22:48
ой, я б те помог, да деньги в Инете конячаются! sad.gif

Автор: SVK 16.3.2004, 18:35
А что не получасется? Red Dragon дал тебе рабочий код.
Вот, держи еще - немного упрощенный и с "комбобоксом" smile.gif

Код
<form name="forma">
<input name="pas1" type="password">
<input name="pas2" type="password" onblur="ww(2)">
<p>
<select name=sel_10 onChange="set11();">
<option value="a">AAA
<option value="b">BBB
<option value="c">CCC
<option value="d">DDD
</select>
<input name="i_11" >
</form>

<script>
function ww()
{ if (document.forma.pas1.value!=document.forma.pas2.value)
 { alert ("Пароль не совпадает!")
   document.forma.pas1.value=""
   document.forma.pas2.value=""
   document.forma.pas1.focus()
 }
}

function set11()
{ var f = document.forma;
 var v = f.sel_10.options[f.sel_10.selectedIndex].value;
 if (v == "a") f.i_11.value=100;
 else if (v == "b") f.i_11.value=200;
 else if (v == "c") f.i_11.value=300;
 else if (v == "d") f.i_11.value=400;
}
</script>


Автор: Гость_Олег 16.3.2004, 20:42
Спасибо за Вашу помощь. Сейчас попробую... Просто я полный профан в программировании... Может я не туда скрипт вставлял - я ведь в NetObjects делаю сайт.

Автор: Гость_Олег 16.3.2004, 21:32
Да, скрипт в общем работает, но у меня уже есть готовая форма в NetObject 7 и с ней скрипт работает неправильно. Я не понимаю куда нужно вставить скрипт. Или в combobox, или в форму...

Автор: Гость_Олег 16.3.2004, 22:58
Вот сгенерированный код, который у меня уже есть для полей 4, 5, 10 и 11.

Поле 4

<INPUT ID="4" TYPE=TEXT NAME="4" VALUE="" SIZE=25 MAXLENGTH=50 >

Поле 5

<INPUT ID="5" TYPE=TEXT NAME="5" VALUE="" SIZE=25 MAXLENGTH=50 >

Поле 10

<SELECT ID="10" NAME="10" >
<OPTION VALUE="a" SELECTED>до 250,000</OPTION>
<OPTION VALUE="b">250,001-500,000</OPTION>
<OPTION VALUE="c">500,001-1,000,000</OPTION>
<OPTION VALUE="d">более 1,000,000</OPTION>
</SELECT>

Поле 11

<INPUT ID="11" TYPE=TEXT NAME="11" VALUE="" SIZE=25 MAXLENGTH=50 >

Скажите, куда какие части скрипта вставлять?

Автор: Sardar 18.3.2004, 00:47
Вот так можно сделать, по сути тоже самое что писали другие. У элементов нельзя задавать числовое имя, иначе обратится к ним через collection elements нельзя.
Код
<script language="Javascript" type="text/javascript">
<!--
function checkPass(obj) {
if(obj.elements['pas1'].value!=obj.elements['pas2'].value) {
 alert("Ne vveli parol'");
 obj.elements['pas2'].value="";
 obj.elements['pas2'].focus();
}
}
function getSelectedVal(obj) {
//return (obj.selectedIndex+1)*100;
switch(obj.value) {
 case 'a': return 100;
 case 'b': return 200;
 case 'c': return 300;
 case 'd': return 400;
 default: return 0;
}
}
//-->
</script>
<form>
<INPUT ID="4" TYPE=TEXT NAME="pas1" VALUE="" SIZE=25 MAXLENGTH=50>
Ïîëå 5
<INPUT ID="5" TYPE=TEXT NAME="pas2" VALUE="" SIZE=25 MAXLENGTH=50 onBlur="checkPass(this)" >
Ïîëå 10
<SELECT ID="10" NAME="10" onChange="this.form.elements['out'].value=getSelectedVal(this);">
<OPTION VALUE="a" SELECTED>äî 250,000</OPTION>
<OPTION VALUE="b">250,001-500,000</OPTION>
<OPTION VALUE="c">500,001-1,000,000</OPTION>
<OPTION VALUE="d">áîëåå 1,000,000</OPTION>
</SELECT>
Ïîëå 11
<INPUT ID="11" TYPE=TEXT NAME="out" VALUE="" SIZE=25 MAXLENGTH=50 >
</form>

Автор: Гость_Олег 18.3.2004, 08:24
Sandar, спасибо. Попробую вечером. Скажите, а JavaScript Bible хорошая книга? Какую литературу порекомендуете для изучения JavaScript?

Спасибо!

Автор: Sardar 18.3.2004, 22:50
Цитата
JavaScript Bible хорошая книга?

Не читал. Мало того, я еще не прочел ни одной твердой(бумажной) книги по JS. В сети просто огромное количество мануалов, но не следует кидаться на статейки с сайтов "Васи Пупкина". Читать надо официальную документацию, загляни на www.mozilla.org
ECMA-262 - ECMAScript(1999): http://www.ecma-international.org/publications/standards/Ecma-262.htm

Обсуждение по поводу документации находится парой топиков ниже: http://forum.vingrad.ru/index.php?showtopic=19939

Автор: Alx 19.3.2004, 09:32
Sardar
как насчёт того, чтобы в заглавие форма повесить тему что-то вроде "Литература по Веб-дизайну". Долько это, наеврно, в форуме Иеб-дизайн надо. И нужно сказать, что если Вы хотите выучицца HTML, DHTML, CSS, JScript, JavaScript до отличного уровня (как у меня ;) ;) ;) ), то Вам нужна книга "JavaScript в Web-дизайне" (В. Дронов, BHV). Поверьте моим словам, кромее неё ничего не нужно! Вот и GoodBoy, насколько я понял, присоединяется. Причём там не занудство, как в некотороых книгах, а даже, можно сказать, у влекательно её читать. Причём эту книгу можно дать человеку, который не знает расшифроки слов HTTP, HTML и первый раз слышет о слове "Браузер", добавить книжонцию по Flash и через 900 стр. перед нами отличный веб-программист.

Автор: GoodBoy 19.3.2004, 11:09
Я, я!!! "JavaScript в Web-дизайне" (В. Дронов, BHV). - весьма полезная штучка. :-))))))

Автор: Axxent 25.3.2004, 19:41
Да уж не скажите, там хоть и хорошо и понятно, да не все. Вроде толстенная книженция, а толку - мало. Сколько ни штудировал, так и не освоил ни регулярных выражений, ни операций со строками. Новичкам может быть оно как раз и надо, а мне после книжки по ХТМЛ Пауэлла этого показалось маловато. Ну вообще о вкусах не спорят...

Автор: GoodBoy 26.3.2004, 14:45
Цитата
Новичкам может быть оно как раз и надо, а мне после книжки по ХТМЛ Пауэлла этого показалось маловато.

Сколько ни штудировал, так и не освоил ни регулярных выражений, ни операций со строками.

biggrin.gif biggrin.gif biggrin.gif biggrin.gif biggrin.gif

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)