1

印刷用に新しいウィンドウを開く必要があります。その方法を教えてもらえますか?

マイボタンのクリックコード:

私のwindow.locationは機能しますが、window.openを使用できません

$('.btnFromIndexPrint').click(function () {
    if (document.URL.indexOf('index') > -1) {
         // window.location = '../Print/' + $(this).attr('id');
         window.open = '../Print/' + $(this).attr('id');
    } else {
        //window.location = 'Contract/Print/' + $(this).attr('id'); //Redirect  from Index page to print action
        window.open = 'Contract/Print/' + $(this).attr('id');
    }

});

私のHTML:

target="blank" id と呼ばれるものがあることは知っていますが、それが機能するとは思いません。

<input type="button" value="Print" class="btnFromIndexPrint" id="@item.SalesContractId"/>

新しいページでリダイレクトを開くにはどうすればよいですか?

重要!!!!!!!

return RedirectToAction("Print", new { id = contractInstance.SalesContractId });
4

4 に答える 4

5

次のようにする必要があります。

window.open(url_or_your_page);

参照:

于 2012-06-14T05:59:49.807 に答える
1

window.locationisの構文

window.location = "url";

例えば:

window.location ="http://www.mozilla.org";

したがって、コードで正常に機能しています。

しかし、構文window.open()

window.open(URL, windowName[, windowFeatures])

例えば ​​:

window.open ("http://www.javascript-coder.com","mywindow","status=1");

構文に問題がありました。

お役に立てれば。

于 2012-06-14T06:09:35.983 に答える
0

まず、上記のコードを jQuery の document.ready 関数に含めるか、ページの下部にコードを配置していただければ幸いです。これは、指定された印刷ボタンが DOM にロードされていない場合、セレクター ($) がそれを見つけられず、クリック リスナーがアタッチされないためです。

第二に、window.open は関数であり、変数のように割り当てるべきではありません (上記で行った)。言い換えれば、それは

window.open( parameters ); //NOT window.open = value;

以下の私のコード例を参照してください。これは、上記のコードの多かれ少なかれ修正と最適化です。

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
 <head>
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  <title>Window.Open</title>
  <script type="text/javascript" src="http://code.jquery.com/jquery-1.7.2.min.js"></script>
  <script type="text/javascript">
    //@Author: Prof. No Time
    $(document).ready(function(){
      $('.btnFromIndexPrint').click(function () {
         var urlToOpen = '';
         var docURL = document.URL;

         if (docURL.indexOf('index') > -1) {
            urlToOpen = '../Print/' + $(this).attr('id');
         }
         else {
            urlToOpen = 'Contract/Print/' + $(this).attr('id');
         }

         //alert('urlToOpen > ' + urlToOpen);
         if (urlToOpen != '') window.open(urlToOpen);
      });
   });
  </script>
 </head>

 <body>
    <input type="button" value="Print" class="btnFromIndexPrint" id="@item.SalesContractId"/>
 </body>
</html>

最後に、上記のような種類の ID (@item.SalesContractId) を使用しないことをお勧めします。その値がサーバー側の処理によって置き換えられるはずだったどこかを信じたいですか?

お役に立てれば。

于 2012-06-14T07:02:26.923 に答える
0

試してみてください :

window.open(url, [window name], "height=x,width=y");

width/height を指定すると、新しいウィンドウで開きます。window.open を参照してください。

于 2012-06-14T06:02:45.607 に答える