2

何かを処理しています。関数が成功すると、別のページにリダイレクトしたいのですが、「関数が成功しました」というアラートが表示されます。

CodeIgniter、Javascript、Bootstrapを使用しています

任意のアイデアをいただければ幸いです

4

2 に答える 2

2

ページXがページYにリダイレクトされると、ページXは開いていないため、アラートを発行できなくなります。オプションは次のとおりです。

  • リダイレクトしないでください。(代わりに、ページYを;に入れることができる場合がありますiframe。または、単にページへのリンクを提供して、ユーザーがクリックするかどうかを決定できるようにします。)
  • 警告しないでください。
  • リダイレクトする前に警告します。(これは基本的に同じことです。とにかく、ユーザーはアラートを閉じるまで実際にページYを操作することはできません。したがって、アラートが前に来るか、リダイレクトするか、後に来るかは問題ではありません。)
  • Yページにアラートを出してもらいます。たとえば、ページXはにリダイレクトできhttp://example.com/path/to/Y/?alert=Function+successful、ページYを設計してクエリ文字列を検出し、アラートを発行できます。
于 2013-01-29T22:50:19.503 に答える
1

関数が成功したら、リダイレクトして、新しいページのbodyonloadイベントを使用します。別のSO回答に基づくクエリ文字列抽出の使用:

if (success)
{
window.location("anotherpage.html?myparm=alertMe");
}

..。

anotherpage.html

<body onload="bodyLoad();">
...
</body>

<script type="text/javascript">
function bodyLoad()
{
  parmValue = getParameterByName("myparm");
  if(parmValue == 'alertMe')
  {
    alert('Function successful');
  }
}

//http://stackoverflow.com/questions/901115/how-can-i-get-query-string-values
function getParameterByName(name) {
    var match = RegExp('[?&]' + name + '=([^&]*)').exec(window.location.search);
    return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
}
</script>
于 2013-01-29T22:50:07.200 に答える