Консультация № 161619
28.02.2009, 16:05
0.00 руб.
0 10 1
Здравствуйте.
Скажите пожалуйста как сделать ,что бы при выборе в списке селект "ваз" maxlength поля "s_word" был равен 1 в других случаях ==100
Спасибо.
p.s. на всякий случай добавлю этот код в мини форум вопросат.к. иногда он не прикрепляется к самому вопросу

Приложение:
<form name = "additionally" action = "Menu_pp.php" method = "post">
<TABLE>
<tr>
<td>
<input type = "submit" value = "Поискать ...">

<select id = "add_lly" size = "1" name = "add_lly">
<option selected value = "4">показать ваз :</option>
<option value = "3">показать тойту :</option>
<option value = "2">показать опель :</option>
</select>
</td>

<td>
<input id="s_word" name = "s_word" type = "text" value = "" size = "25" MAXLENGTH = 100>
</td>
</tr>
</TABLE>
</form>

Обсуждение

Неизвестный
28.02.2009, 16:06
общий
<form name = "additionally" action = "Menu_pp.php" method = "post">
<TABLE>
<tr>
<td>
<input type = "submit" value = "Поискать ...">

<select id = "add_lly" size = "1" name = "add_lly">
<option selected value = "4">показать ваз :</option>
<option value = "3">показать тойту :</option>
<option value = "2">показать опель :</option>
</select>
</td>

<td>
<input id="s_word" name = "s_word" type = "text" value = "" size = "25" MAXLENGTH = 100>
</td>
</tr>
</TABLE>
</form>
Неизвестный
28.02.2009, 16:28
общий
это ответ
Здравствуйте, Dima1967!
Все просто. Крепим к списку атрибут onchange, в нем пишем следующий код:

var s_word = document.getElementById('s_word');
if (this.value == '4') {
s_word.setAttribute('maxlength',1);
} else {
s_word.setAttribute('maxlength',100);
}

Язык Javascript позволяет изменять значения атрибутов элементов страницы на лету, это его очень ценное качество. Попробуйте, должно сработать.

С уважением, Товарищ Бородин
Неизвестный
28.02.2009, 17:08
общий
что то даже alert() не выводится....
Неизвестный
28.02.2009, 17:20
общий
вобщем не получается ничего ни с тем ни с другим... ...
Неизвестный
28.02.2009, 17:21
общий
Значит, надо где-то ошибку искать. А искать ее самый лучший способ - это проверять код построчно. Вставили alert в одну строку, потом в следующую... Так она и найдется.
Неизвестный
28.02.2009, 17:24
общий
Что касается jQuery, то предложенный коллегой код необходимо немного изменить.

$(document).ready(function(){
$('select').change(function(){
if ($(this).val() == 4)
{
$(''input).attr('maxlength', 1);
}
else
{
$(''input).attr('maxlength', 100);

}
}
);
});

Выше этого кода необходимо подключить библиотеку jquery.js.
Неизвестный
28.02.2009, 22:10
общий
function chml()
{
var adly = document.getElementById('add_lly').value;

if (adly == '4')
{
this.document.getElementById('s_word').value='';

this.document.getElementById('s_word').setAttribute('maxlength',1,0);


}else
{
this.document.getElementById('s_word').setAttribute('maxlength',100,0);
}


}

</script>


<form name = "additionally" action = "Menu_pp.php" method = "post">
<TABLE>
<tr>
<td>
<input type = "submit" value = "Поискать ...">

<select onchange='chml()' id = "add_lly" size = "1" name = "add_lly">
<option value = "4">показать ваз :</option>
<option value = "3">показать тойту :</option>
<option value = "2">показать опель :</option>
</select>
</td>

<td>
<input id="s_word" name = "s_word" type = "text" value = "" size = "25" MAXLENGTH = 100>
</td>
</tr>
</TABLE>
</form>
так,заработало ,но я нигде не смог найти определение setAttribute ,что в ней такое третий параметр -без него не работало . Что он обозначает?
Неизвестный
01.03.2009, 00:45
общий
Про третий параметр ,очень важный, написано тут:
http://msdn.microsoft.com/en-us/library/ms536739.aspx
Неизвестный
01.03.2009, 01:13
общий
в msdn указано зачем он нужен , то ,что его нет в стандартах это проблема стандартов (там кстати про эти флаги написано ) , а то что без него возможна некорректная работа - то это уже будет проблемой разработчика.
Спасибо за пожелание, вам того же.
давно
Старший Модератор
9
677
01.03.2009, 17:33
общий
To Евгений Иванов
рассмешили вы меня своей оценкой... не думал я, что вам нужно всё разжевать было и положить в рот


А Вы не смейтесь. И подумайте, что иногда нужно и потрудиться, чтобы разжевать, если уж Вы в эксперты портала записались, причем Вас никто насильно этого делать не заставлял. И не нужно неуместно острить в адрес задавшего вопрос-
я знаю, зачем он нужен. вернее, он совершенно не нужен (-: а ..нет... вам он нужен, да


Эксперты портала профессионалов должны быть корректными, Вы не в курсе?
Устное предупреждение.
Форма ответа