Как открыть страницу в том же окне? 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, время: 20:56. |