ユーザーがonclickを特定のページ "user/logged_in1"にリダイレクトしたい場合は、そのページにリダイレクトしてから、リダイレクト後に特定のボタンをクリックする必要があります。このボタンはモーダルを開きます。Javascriptの変更先のhrefと特定のボタンをクリック
は、この機能では動作しません:
function redirect_to_logged_in_and_open_modal() {
if(window.location.href.indexOf("logged_in") > -1) {
return
} else {
location.href="user/logged_in1";
document.getElementsByClassName("zimmerbtn")[0].click();
}
}
リダイレクトが発生したため、リストが空になる前に、それはボタンのために、すでに検索さそうです。これを修正するには?
EDIT
これはもう少し複雑です。モーダルは、ユーザーがリダイレクトを使用する場合にのみ開きます。 bodyタグにonload
を使用すると、ページが読み込まれると常にモーダルが開きますが、私はその必要はありません。リダイレクトが発生した場合にのみ、そのモーダルを開く必要があります。
全体のことは、Pythonのフラスコアプリケーションです:
{% if current_user.zahlung_iban == None and have_this_user_a_room != None %}
<li><a class="btn mybtn" onclick="redirect_to_logged_in_and_open_modal()" data-toggle="modal" data-target="#premium-special-modal"> Zimmer anbieten </a></li>
{% else %}
<li><a class="btn mybtn" href="{{ url_for('zimmer_einstellen') }}"> Zimmer anbieten </a></li>
{% endif %}
リダイレクトボタンになるためのボタンの特定のトリガーがあります見ての通り。クッキーと
EDIT
オーケー加工が可能な解決策のように聞こえます。しかし、私はそれはシンプルに見える本家のボタンは、提案されたコードのどれも働かない、クリックされた後にクッキーを削除する方法を見つけ出すカント:
function redirect_to_logged_in_and_open_modal() {
if(window.location.href.indexOf("logged_in") > -1) {
return
} else {
location.href="user/logged_in1";
document.cookie = "redirected_coz_of_click";
}
}
$(document).ready(function() {
if ($(".logged-in-container")[0]) {
var delete_cookie = function(name) {
document.cookie = name + '=;expires=Thu, 01 Jan 1970 00:00:01 GMT;';
};
if (document.cookie.indexOf('redirected_coz_of_click') > -1) {
document.getElementsByClassName("zimmerbtn")[0].click();
delete_cookie('redirected_coz_of_click');
console.log(document.cookie);
} else {
console.log("cookie removed");
}
}
});
訪問者を別のページにリダイレクトした後、**ページ内の要素にクリックイベントを発生させるにはどうすればよいですか? –
あなたの現在のページであなたの機能が実行されています。ユーザーにリダイレクトしているページではありません。ユーザーがリダイレクトしているページにユーザーが着陸するときに実行される機能(おそらくonLoadイベント)が必要です。 – Strahdvonzar