0

asp.net mvc 3で私は2つのフォームがあるページがあります。それらには、ラベル、テキストボックス、およびドロップダウンが含まれています。 IE6上では、フォームが成功すると(新しいウィンドウを開く必要があり、投稿はajaxのポストアクションです)、ポップアップブロッカーの通知が表示されます。通知が表示されたとき(またはウィンドウの上部にある通知を閉じた後、キャッシュのために多分)、ドロップダウンリスト(!?)以外のフォームのすべてのコンテンツが消滅します。ドロップダウンに注目し、他のコンテンツが配置される場所をクリックした後、部分的に表示されます。IE6のポップアップブロッカーマークアップバグ

私はjquery 1.5.2、jquery validate pluginとjquery.ajaxを使用しています。

送信ボタン:

<div class="button"> 
    <input type="submit" value="Sumbit" /> 
</div> 

コールバック:

onSuccess: function (response) { 
     var jsonResult = eval("(" + response.responseText + ")"); 
     hideStatusMessage(); 
     if (jsonResult.Success) { 
      //StatusMessage is span that displays result of submit 
      showStatusMessage(jsonResult.Message); 
      redirectTo(jsonResult.RedirectTo); 
     } else { 
      // We got some error 
      showStatusMessage(jsonResult.Message); 
     } 
    } 

リダイレクト:私は、コード全体を見ることができないので、私は上に行くつもりです

var redirectTo = function (urlString) { 
    var params = 
     "width=" + screen.width + ", height=" + screen.height + 
     ", top=0, left=0, fullscreen=yes, location=no"; 
    var newWin = window.open(urlString, '_blank', params, false); 
} 
+0

もちろん、私はコードを添付しました。 –

+1

http://www.ie6nomore.com/ – jrummell

答えて

0

勘違い。私はそのページが現在の場所にPOSTしようとしていると思います。この種類のページは完全には更新されません。これは、コンテンツがテキストボックスから消去されていることで発生している可能性があります。

このような場合は、このポップアップが必要なときに送信ボタンが送信されないようにする必要があります。イベントでstopPropagationを呼び出すか、ボタンのクリックで実行される関数からfalseを返すことでこれを行うことができます。イベントにアクセスできる場合は、stopPropagationメソッドを使用することをお勧めします。