Как открыть страницу в том же окне? window.open
Вопрос от n00b'a;) :
есть форма: <form name=form1>Номер варианта (1-30): <input type=text name=variant size=2px maxlength=2> <input type=submit value=Найти onclick=get_variant()> </form> Вводим номер варианта от 1 до 30 и открывается страница n.html, где n-номер введённого варианта function get_variant() { var V=form1.variant.value if ((V>=1)&&(V<=30)) {window.open(V+".html")} else {window.open("404.html")} } Нужно что б страница с вариантом открылась на месте старого окна, а не в новой вкладке. Поиск юзал, ниче конкретного не нашел. Вопрос как? |
window.location = '404.html'; |
ответ
<script type="text/javascript"> <!-- function prepare_form(obj){ var arr_elements = obj.form.elements; var varr=obj.form.variant.value; if ((varr >= 1) && (varr <= 30)){ obj.form.action = varr+".html"; } else{ obj.form.action = "404.html"; } return true; } // --> </script> <form name="form1" action="/" method="post"> Номер варианта (1-30): <input type="text" name="variant" size="2" maxlength="2"> <input type="submit" value="Найти" onclick="prepare_form(this)"> </form> |
ответ
var arr_elements = obj.form.elements; можно убрать думал сначала все элементы доставать и искать нужный :) |
2 Octane Не понял куда это что это делает :confused:
2 jsch Вообще не понял :eek: Чем старый код плох? Я так понимаю (по нубовски:rolleyes:) - window.open() "открывает" страничку в новой вкладке. Какое свойство для него прописать (если оное есть), чтобы страница открывалась на месте старой (как например в гугле - нажал кнопку и открывается страничка с результатом поиска)? Или какой объект использовать. И еще подскажите, плиз, есть ли сайт типа htmlbook, но по яве, что бы все объекты и их свойства были расписаны. А то я юзаю поиск, но там только всякие фичи вылезают для продвинутых :o. |
ответ
to xilol
в зависимости от того что будет введено в поле: <input type="text" name="variant" size="2" maxlength="2"> функция prepare_form поменяет атрибут action тега form: <form name="form1" action="/" method="post"> а потом уже срабатывает событие сабмит этой формы и происходит переход туда куда указывает атрибут action тега form http://wdh.suncloud.ru/dhtml13.htm#hopen "Метод open создает новое окно..." |
Как вариант можно поступить так:
document.open(document.location,document.title) Проверено, работает P.S. Применялось в функции распечатки окна: function PrintPage(){ document.getElementById('Link').innerText=""; //скрываем ссылку window.print(); //Печатаем содержимое document.open(document.location,document.title); //Отображаем ссылку } |
Цитата:
|
batonn,
Надеюсь Вам ещё нужен код: function linkSys(v) { if(v>0&&v<=7) { location.href=v+".html"; } else{location.href="404.html"} } <form name="form1"><p>Номер варианта (0-8):</p> <select name="sel" size="9" multiple> <option value="0" onclick="linkSys(this.value)">0</option> <option value="1" selected onclick="linkSys(this.value)">1</option> <option value="2" onclick="linkSys(this.value)">2</option> <option value="3" onclick="linkSys(this.value)">3</option> <option value="4" onclick="linkSys(this.value)">4</option> <option value="5" onclick="linkSys(this.value)">5</option> <option value="6" onclick="linkSys(this.value)">6</option> <option value="7" onclick="linkSys(this.value)">7</option> <option value="8" onclick="linkSys(this.value)">8</option> </select> </form> Я, походу неуспел, ну, ничё, может кому-то пригодится:) |
Цитата:
На этом есть кое-что а так для ie смотрим тут: remove child method для ff: remove child method |
Часовой пояс GMT +3, время: 16:44. |