Проблема с объектом Location
Здравствуйте, все!
Есть задача: нужно организовать поле ввода текста и список выбора. Так, чтобы при изменении текста в поле и при изменении позиции в списке документ обновлялся (это необходимо для передачи изменений в скрипт). Проблема в том, что если при изменении текста сразу нажать на список выбора Эксполрер вылетает с неодпустимой ошибкой или без таковой. А если нажать на любое пустое место, то он обновляет документ как надо. Еще одно условие - это должно работать в фрейме. Если убрать фрейм - все работает прекрасно. Пробовал множество сочетаний - this, location, href, document, window... Привожу кусок кода: <script language="JavaScript"> function alerto() { this.location="right.htm"; } </script> </head><body>Справочник</p> <INPUT TYPE="text" name="directory_value" VALUE="Change" onChange="alerto();" >Поле <p> <select name='new_column_type' onChange="alerto();" class='six' > <option value='0-1'>Empty</option> <option value='0-2'>TEXT</option> <option value='0-3' selected>INDEX</option> <option value='0-4'>LIST</option> </select></body></html> Заранее спасибо. |
приведи полный (с фреймом и начальными тэгами) нерабочий пример и укажи версию ie
|
Полные тексты.
left.htm <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <script language="JavaScript" src="/frames.js"></script> <title>Работа над справочниками</title> <meta http-equiv="refresh" content="3600; url=/cgi-bin/logout.cgi; target=_top" > <link href="/print.css" rel="stylesheet" type="text/css" media="print"> <link href="/screen.css" rel="stylesheet" type="text/css" media="screen"> </head><body>Работа над справочниками</p> <a href="/right.htm" target='DATA'>Нажми!</a> </body></html> right.htm <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=windows-1251"> <script language="JavaScript" src="/frames.js"></script> <title>Работа над справочниками</title> <meta http-equiv="refresh" content="3600; url=/cgi-bin/logout.cgi; target=_top" > <link href="/print.css" rel="stylesheet" type="text/css" media="print"> <link href="/screen.css" rel="stylesheet" type="text/css" media="screen"> </head><body>Работа над справочниками</p> <INPUT TYPE="text" name="directory_value" VALUE="Change" onChange="javascript:document.location.href='right.htm?directory_value='+this.value;" > Название нового справочника <p> <select name='new_column_type' onChange="javascript:document.location.href='right.htm?new_column_type='+this.value;" class='six' > <option value='0-1' >Empty</option> <option value='0-2' >TEXT</option> <option value='0-3' selected>INDEX</option> <option value='0-4' >LIST</option> </select></body></html> frame.htm <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Frameset//EN"> <HTML><HEAD><TITLE>Пользователь портала</TITLE> <META http-equiv=Content-Type content="text/html; charset=windows-1251"> </HEAD> <FRAMESET id=fs1 cols="170, *"> <FRAME name=NAV src="/left.htm" frameBorder=0> <FRAME name=DATA frameBorder=0> </FRAMESET></HTML> |
Версия Интернет Експлорера.
IE6.0.2900.2180
|
Цитата:
|
Продробное описание проблемы.
В правом фрейме появляется поле текстового ввода и список выбора.
Необходимо, чтоб при изменении текста и при изменении позиции выбранной в списке данные отсылались на сервер. Если изменить значение в поле текстового ввода, а затем сразу мышью кликнуть на списке, эксплорер или закрывается с недопустимой ошибкой, или без ошибки, или не закрывается, а из фрейма пропадает содержимое. Если изменить значение текста, а потом кликнуть мышью в пустое место на экране(фрейм обновится), дальше можно спокойно работать. Проблема только в 6-м Эксплорере, в 7-м и 8-м работает. Но на нескольких машинах с 6-м, не работает ни на одном. |
во-первых, убери javascript: из обработчиков
во-вторых, зачем перезагружать страницу по onchange? |
Убрать javascript не помогает
Убрать javascript не помогает - я писал и вызывал функцию, тот же результат.
А как еще? Мне нужно чтобы посылались любые изменения из каждого поля, списка, итд. |
Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 04:19. |