2017-02-15 4 views
0

У меня есть событие onclick на моем anchor tag, которое перенаправляет пользователя на определенную страницу и автоматически нажимает на ссылку после загрузки страницы.auto click button after window.location.href

это то, что я есть сейчас:

var experience_modal = "#experienceModal"; 
 

 
    function experienceModal() { 
 

 
     window.location.href = "/Resume"; 
 
     $(experience_modal).trigger('click'); 
 

 
    };
<p style="margin-bottom: 10px;"><strong><a href="javascript:void(0);" onclick="experienceModal()">Add</a> an Experience</strong></p> 
 

 

 

 

Я сталкиваясь с проблемой, что свойство триггера не работает после перенаправления на конкретную страницу.

, пожалуйста, расскажите мне, как исправить эту проблему.

спасибо вам за передовые!

+0

после перенаправления страницы javascript больше не будет работать, это не сработает – helloworld111

ответ

2

На странице загрузки/перезагрузки все Js выполнение останавливается. Вот почему ваша команда триггера не запускается после назначения нового URL-адреса location.href. Вам нужно как-то заставить страницы «общаться» друг с другом.

Один из способов будет передача строки запроса в URL:

код на странице, пользователь должен нажать кнопку «Добавить опыт»:

window.location.href = "/Resume?showExpModal"; 

код на Возобновить странице:

$(document).ready(function() { 
    // existing code 
    // ... 
    if(window.location.href.split('?').pop() == 'showExpModal') { 
    $(experience_modal).trigger('click'); 
    } 
} 
+0

Спасибо! это работает. :) – Terence

2

window.location.href вызывает загрузку новой страницы, что означает, что любой дополнительный код на текущей странице не будет отменен.

Я предполагаю, что одним из вариантов было бы перенаправление на текущую страницу с добавленной строкой запроса, которая затем запускает некоторый условный код. Но это кажется немного запутанным, я бы предложил пересмотреть вашу стратегию.

Попробуйте выполнить код перед тем, как покинуть страницу ..?

+0

Это все равно. – Terence

1

Попробуйте

var experience_modal = "#experienceModal"; 

function experienceModal() { 
    setTimeout(function() { 
     window.location.href = "/Resume"; 
    }) 
    $(experience_modal).trigger('click'); 

};