-
Вебмастеру
(
http://forum.oszone.net/forumdisplay.php?f=22)
- -
Тег <Select>
(
http://forum.oszone.net/showthread.php?t=76261)
Scorpion666 |
16-12-2006 00:54 525277 |
Тег <Select>
Доброе время суток!
Вопрос может и глупый, но я не могу найти на него решение!
У меня есть некая форма, в которой использется выподающий список! Возможно ли вводить свое значение в поле, а не выбирать его из списка?
Заранее благодарен!
|
vadimiron |
16-12-2006 01:09 525280 |
HTML код:
<input type="text"......
|
Scorpion666 |
16-12-2006 01:13 525282 |
vadimiron
Это не то!
Я имею ввиду, в этом же объекте вводить свое значение, если пользователю не подходит значения из писка!
|
vadimiron |
16-12-2006 02:11 525294 |
Scorpion666
Зачем в этом же? Так не принято - никакой юзер такого не поймёт - ноль юзабилити.
Сделайте просто рядом текстовое поле, над которым можно написать "...или Ваше значение"
|
Scorpion666 ...или на onkeypress меняй на input - эффект будет желаемый...
|
Scorpion666 |
17-12-2006 20:33 525898 |
Sham
Цитата:
...или на onkeypress меняй на input - эффект будет желаемый...
|
А поподробней можно?
:)
|
XCodeR |
17-12-2006 20:49 525903 |
Scorpion666
HTML код:
<html>
<script>
function Change()
{
if(s.style.display!="none")
{
s.style.display="none";
i.style.display="block";
}
else
{
s.style.display="block";
i.style.display="none";
}
}
</script>
<body>
<form>
<input style="display:none;width:100" id=i type=text onblur=Change()>
<select style="width:100" id=s onmousedown=Change()>
<option>ddd
<option>ddd
</select>
</form>
</body>
</html>
развивайте идею...
|
Scorpion666 держи и мой вариант (откопал...)
HTML код:
...
<script>
function ch(y){
if(document.getElementById('sel').value=='your'||y){
with(document){getElementById('sel').style.display='none';
getElementById('in').style.display='';
getElementById('in').focus();}
}
}
function no(){
if(document.getElementById('in').value==''){
with(document){getElementById('in').style.display='none';
getElementById('sel').style.display='';
getElementById('sel').focus();
getElementById('ooo').selected=true;}
}
}
</script>
...
<select onkeydown="ch(1)" id="sel" onchange="ch()" name="name">
<option id="ooo" value="n_1">1. Элемент списка</option>
<option value="n_2">2. Элемент списка</option>
<option value="your">Ввести свое значение</option>
</select>
<input type="text" size="16" width="16" id="in" style="display: none" onblur="no()" name="name">
|
XCodeR |
18-12-2006 23:56 526408 |
|
XCodeR |
19-12-2006 17:43 526717 |
Sham
в курсе, только какая разница? есть проблема - есть решения.
|
VeshchiyOleg |
25-12-2006 17:11 528968 |
2 Sham а я б переписал функцию no() таким образом:
Код:
function no(){
with(document){
if(getElementById('in').value!=''){
var t=getElementById('sel');
t.options[t.options.length] = new Option (getElementById('in').value,getElementById('in').value);
t.selectedIndex = t.options.length - 1;
}
getElementById('in').style.display='none';
getElementById('sel').style.display='';
getElementById('sel').focus();
getElementById('ooo').selected=true;
}
}
ну это типа если юзер передумает и схочет-таки стандартную выбрать, а потом передумает обратно на свою
|
VeshchiyOleg
Цитата:
а потом передумает обратно на свою
|
введенное юзером значение никуда не удаляется из поля (поле просто скрывается, но не удаляется же).... хотя идея неплохая, но imho здесь лишняя... :)
|
Время: 01:43.
© OSzone.net 2001-