Strict Standards: Resource ID#31 used as offset, casting to integer (31) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#33 used as offset, casting to integer (33) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401

Strict Standards: Resource ID#34 used as offset, casting to integer (34) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/fm.class.php on line 401
ТвойWeb :: Версия для печати :: Перенос информации из одного поля вдругое.
ТвойWeb » WebMaster класс » JavaScript » Перенос информации из одного поля вдругое.

Страниц (1): [1]
 

1. victor - 15 Ноября, 2007 - 06:12:29 - перейти к сообщению
Помогите, пожалуста переделать прикрепленный пример под мои требования:

CODE:

<table>
<tr>
<td>
<input name=list1 type=text maxlength=200 class=forms size=72>
</td>
<td>
<INPUT name=B1 onclick=move(this.form.list1,this.form.list2) type=button value=" >> "><BR>
<INPUT name=B2 onclick=move(this.form.list2,this.form.list1) type=button value=" << ">
</td>
<td>
<SELECT multiple name=list2 size=4>
<OPTION value=21>грозу</OPTION><OPTION value=22>духоту</OPTION><OPTION value=23>жару</OPTION>
</SELECT>
</td>
</tr>
</table>


Прикрепленный пример у меня срабатывал только в браузерах Mozila, Opera
Хотелось бы чтобы и в IE это было возможно.
2. Furax - 18 Ноября, 2007 - 00:30:17 - перейти к сообщению
CODE:
<script type="text/javascript">
<!--

function move(element1, element2, delimiter)
{
if (delimiter === undefined)
delimiter=', ';

var values;

switch (element1.tagName)
{
case 'SELECT':
values=getSelectValues(element1);
break;

case 'INPUT':
if (element1.type != 'text')
return alert('Это не текстовое поле (' + element1.type + ')!');

values=getInputValues(element1, delimiter);
break;

default:
return alert('Неизвестный тип элемента: ' + element1.tagName + '!');
}

values.sort();

switch (element2.tagName)
{
case 'SELECT':
setSelectValues(element2, values);
break;

case 'INPUT':
if (element2.type != 'text')
return alert('Это не текстовое поле (' + element2.type + ')!');

setInputValues(element2, values, delimiter);
break;

default:
return alert('Неизвестный тип элемента: ' + element2.tagName + '!');
}
}


function getSelectValues(select)
{
var values=new Array(), optionsToDelete=new Array();
for (i=0; i<select.options.length; i++)
if (select.options[i].selected)
{
values.push(select.options[i].text);
optionsToDelete.push(select.options[i]);
}

for (i=0; i<optionsToDelete.length; i++)
optionsToDelete[i].parentNode.removeChild(optionsToDelete[i]);

return values;
}


function setSelectValues(select, values)
{
var optionIndex=0, valueIndex=0;

while (valueIndex < values.length)
{
while ((optionIndex<select.options.length) && (valueIndex < values.length) && (select.options[optionIndex].text < values[valueIndex]))
optionIndex++;

var option=document.createElement('option');
option.appendChild(document.createTextNode(values[valueIndex]));
option.value=values[valueIndex];

select.insertBefore(option, select.options[optionIndex]);

valueIndex++;
}
}


function getInputValues(input, delimiter)
{
var values=input.value.split(delimiter);
input.value='';
return values;
}

function setInputValues(input, values, delimiter)
{
if (input.value)
{
values.splice(values.length, 0, input.value.split(delimiter));
values.sort();
}
input.value=values.join(delimiter);
}

//-->
</script>

<...>

<form>
<table>
<tr>
<td>
<input name=input1 type=text maxlength=200 class=forms size=72>
</td>
<td>
<INPUT name=B1 onclick="move(this.form.input1, this.form.list1);" type=button value=" >> "><BR>
<INPUT name=B2 onclick="move(this.form.list1, this.form.input1);" type=button value=" << ">
</td>
<td>
<SELECT multiple name=list1 size=4>
<OPTION value=21>грозу</OPTION><OPTION value=22>духоту</OPTION><OPTION value=23>жару</OPTION>
</SELECT>
</td>
</tr>
</table>
</form>
3. victor - 19 Ноября, 2007 - 01:14:07 - перейти к сообщению
Furax спасибо за помощь.
Только почемуто у меня всеравно несрабатывает в IE.
4. Furax - 19 Ноября, 2007 - 08:56:06 - перейти к сообщению
victor
Возможно, проблема в том, что в твоём варианте нет внешней формы...

Если это не так, скажи хоть, на что ругается и какая версия, а то у меня всё путём в 6.0.
5. victor - 22 Ноября, 2007 - 01:46:06 - перейти к сообщению
Furax я скопировал твой вариант.
Пишу ошибку на него: Строка: 116
Символ 1
"this.form.list1" - есть null или не является объектом
Код 0
6. Furax - 22 Ноября, 2007 - 03:00:59 - перейти к сообщению
victor
Чушь собачья... Попробуй задать необходимые аттрибуты для <form> (method, action) и расставить везде в аттрибутах кавычки.

З. Ы. Так всё-таки, какая версия IE?
7. victor - 27 Ноября, 2007 - 01:18:36 - перейти к сообщению
Furax Извини что долго не отвечал, пока тестил инет кончилься. Да такая же версия IE6. Более точно такая: 6.0.2900.2180
Постораюсь на какойнибудь другой машине проверить может мне надо переустановить браузер и все заработает.
Пока зупустил обработчик как как ты мне сделал, с условием что корректно работает в двух браузерах.
8. victor - 27 Ноября, 2007 - 01:23:55 - перейти к сообщению
Furax все проверил на других компах работает, это чето с моим браузером не так.

Форум на AlfaSpace.NET


Powered by ExBB
ExBB FM 1.0 RC1 by TvoyWeb.ru
InvisionExBB Style converted by Markus®

[Script Execution time: 0.0271]     [ Gzipped ]



Notice: ob_end_flush(): failed to send buffer of ob_gzhandler (1) in /home/tvoyweb/domains/tvoyweb.ru/public_html/forums/include/page_tail.php on line 33