2016-12-17 1 views
1

Я знаю, что подобные вопросы заданы, но после различных тестов никто не работает. Я думаю, что он должен что-то сделать с тем, что я пытаюсь перенаправить из локального html-файла в другой локальный html-файл с помощью js.Перенаправление в локальный файл html не открывается в том же окне

Кнопка в моем creationPage.html:

 <form> 
      <button id="createChar">Create character</button> 
     </form> 

код в моем файле JS переадрессации:

var Create = document.getElementById('createChar'); 

    Create.addEventListener("click", function() { 

    //window.open(url); //opens in a new tab, WHICH IS NOT DESIRED !!! 
    //window.location.replace(url); //doesnt work either. 

    var url = "http://localhost/myprojects/L2/selectYourCharacter/test.html"; 
    window.location.href = url; 
    return false; 
}); 

Я хочу придерживаться addListenerEvent, как это лучшая практика. Если я запустил window.open(url, "_blank"), он не работает.

Реферат: Я хочу перенаправить через свою кнопку, расположенную в http://localhost/myprojects/L2/charCreation/creationPage.html, до http://localhost/myprojects/L2/selectYourCharacter/selectYourCharacter.html, оставаясь в том же окне.

Большое спасибо за вашу помощь, как я застрял с этим в течение нескольких часов ...

Примечание: window.open («www.youraddress.com», «_ я») не работает и Я думаю, это потому, что мои файлы работают на localhost.

+0

Возможный дубликат [Открыть URL-адрес в том же окне и на той же вкладке] (http://stackoverflow.com/questions/8454510/open-url-in-same-window-and-in-same-tab) –

+0

As Я обновил вопрос, решение этого потока не сработало, и, возможно, потому, что я пытаюсь перенаправить из локального файла html в локальный html-файл (localhost). – Genia

ответ

1

Полный ответ, почему ваш код не работает потому, что кнопка, которую вы имеете, заполнив форму. Возврат false из прослушивателя кликов просто указывает браузеру, с которым вы не справились.

Этот код;

var Form = document.getElementById('form'); 

Form.addEventListener("submit", function(e) { 

    //window.open(url); //opens in a new tab, WHICH IS NOT DESIRED !!! 
    //window.location.replace(url); //doesnt work either. 

    var url = "http://localhost/myprojects/L2/selectYourCharacter/test.html"; 
    window.location = url; 
    e.preventDefault(); 
}); 

будет работать, потому что он остановит отправку по умолчанию формы. Кнопка отправляет форму и обрабатывает событие отправки, чтобы сделать то, что вы хотите.

также:

var Create = document.getElementById('createChar'); 

Create.addEventListener("click", function(e) { 

    //window.open(url); //opens in a new tab, WHICH IS NOT DESIRED !!! 
    //window.location.replace(url); //doesnt work either. 

    var url = "http://localhost/myprojects/L2/selectYourCharacter/test.html"; 
    window.location = url; 
    e.preventDefault(); 
}); 

это работает на ту же идею, но вместо этого останавливается поведение по умолчанию кнопки, которая представившая форме.

+0

У меня нет подсказки, почему, но трюк с идентификатором формы работал, но не вторым решением для меня. Так что было бы неплохо, если бы вы оставили только одно решение для этого точного вопроса. Во всяком случае, большое спасибо! – Genia

+0

Второй работает, возможно, вы сделали что-то не так. – TigOldBitties

+0

Вы были правы. Он отлично работает в обоих случаях, кто знает, что я сделал ... thx – Genia

0

Попробуйте использовать с тегом так:

<a href="/myprojects/L2/selectYourCharacter/selectYourCharacter.html" style="text-direction:none"> 
    <button>Your Button Text</button> 
</a> 
+0

Я хочу, чтобы не устанавливать URL-адрес внутри html, поскольку я хочу добавить правила вокруг перенаправления. – Genia

Смежные вопросы