1

モーダルダイアログのオンロードを表示するページがあります。モーダルが却下される前に、ユーザーがチェックして送信する必要があるチェックボックスがあります(利用規約を考えてください)。それが発生すると、ページを再度リロードできますが、ダイアログボックスが戻ることはありません。もともとPHPセッションを使うことを考えていましたが、ページをリロードせずにJS(jQuery)でダイアログボックスを閉じたいと思います。代替手段は何ですか?セッション中にCookieを使用できますか?

私の現在のコードは次のようになります。

JS:

$(document).delegate('#myButton', 'click', function() {

     if ($('input[name="myCheckbox"]').is(':checked')) {
        $('#myDialog').remove();
    }
});

HTML:

<div id="myDialog">
   text
   <input type="checkbox" name="myCheckbox"> <input id="myButton" type="button" value="click me">
</div>  
4

2 に答える 2

4

localStorageを永続的に使用することも、sessionStorageを1つのセッションにのみ使用することもできます

 localStorage.setItem('showModal',true);
 localStorage.getItem('showModal');

そしてそれは純粋なJavaScriptです。サーバー側で行う必要はありません。

于 2012-11-04T16:40:07.867 に答える
2
$(window).on('load',function(){
  if (document.cookie.indexOf('visited=true') == -1){

    $('#myModal').modal({show:true});
    var year = 1000*60*60*24*365;
    var expires = new Date((new Date()).valueOf() + year);
    document.cookie = "visited=true;expires=" + expires.toUTCString();
  }
});
于 2018-10-21T16:21:52.020 に答える