フィードバックフォームdivを開くトリガーとなるjQueryクリック機能がページにあります。基本的に、クリックせずにこのイベントをトリガーするURLを指定したいと思います。foo.com?formopenなど
これは可能ですか?URLを介してデータを渡す必要があると思っていますが、その方法がわかりません。
フィードバックフォームdivを開くトリガーとなるjQueryクリック機能がページにあります。基本的に、クリックせずにこのイベントをトリガーするURLを指定したいと思います。foo.com?formopenなど
これは可能ですか?URLを介してデータを渡す必要があると思っていますが、その方法がわかりません。
次のようなURLでハッシュを使用します。
foo.com#formopen
次に、ロード時に次のようなハッシュを見つけます。
$(function(){
if (window.location.hash){
var hash = window.location.hash.substring(1);
if (hash == "formopen"){
openFeedbackForm();
}
}
});
デモ:
コード: http: //jsfiddle.net/J5cxc/
ハッシュなしのデモ:http://fiddle.jshell.net/J5cxc/show(アラートなし)
ハッシュ付きデモ:http://fiddle.jshell.net/J5cxc/show/#foobar(アラート呼び出し)
これを行うには多くの方法があります。
方法1-クエリ文字列パラメータの使用
URLで、フォームを開く必要があることを示すクエリ文字列値を渡します。
だからあなたのURLは
www.foo.com?feedback=true
次に、JSで次のことができます。
var params = {};
var ps = window.location.search.split(/\?|&/);
for (var i = 0; i < ps.length; i++) {
if (ps[i]) {
var p = ps[i].split(/=/);
params[p[0]] = p[1];
}
}
if(params.feedback){
$(".feedback-div").show();
}
方法2-URLでハッシュタグを使用する
URLは次のようになります。
www.foo.com#feedback
あなたのJSで:
if(window.location.href.indexOf("#feedback") > -1) {
$(".feedback-div").show();
}