0

やりたいことは3つ

  1. Google フォームに送信します。= Google フォームにリダイレクトする
  2. このページを印刷します。= [印刷] または [キャンセル] をクリックしてページを印刷すると、
  3. 別のページにリダイレクトします 魔女はホームページです

私はこのコードを使用していますが、送信をクリックすると問題が発生することがあります。「一部の印刷機能が無効になっています」というエラーが表示された2つのポップアップの最初のポップアップが表示されます[OK]をクリックすると、ページ1にリダイレクトされます。2番目のポップアップウィンドウは印刷メッセージです魔女は私に印刷するように頼みます.印刷を押すと2ページにリダイレクトされます.それは機能すると言っていますが、そのエラーメッセージのために、高速にクリックしたり、最初に印刷ボタンをクリックしたりすると、思い通りにリダイレクトされません.に。これにどのように対処すればよいですか?

これが私が使用しているコードです

<script type="text/javascript">
     <!-- Print & Submit page -->
     function Submit_print_google()  { 
         window.print();        
         // Google form
         var formElementsArray = document.getElementsByTagName('FORM');
         if ( formElementsArray != null ) {
            var formElement = formElementsArray[0];
            document.getElementById('Google_form').name = 'NOVIEWSTATE';
            formElement.action = 'https://docs.google.com/forms/d/1XXXXXXXXXXXXXX/formResponse';  
            window.location = 'http://link.com/HomePage';
            formElement.submit();   
         } else {
            redirect();
         }
     }
 </script>
 <script type="text/javascript">  
     function redirect(){   
         document.location = "http://link.com/homepage" }
     }  
 </script> 

 <form id="Google_form"  action="JavaScript:Submit_print_google()" 
method="POST" id="ss-form" target="_self" autocomplete="off" 
onsubmit="window.location = 'JavaScript:Submit_print_google()';">

      First name<input name="entry.1234567789"  class="ss-q-short" id="entry_1234567789"  type="text">
      Last Name<input name="entry.123456" class="ss-q-short" id="entry_123456" type="text" >
      <input type="submit" style="float:right" value="Submit & Print Page" >

更新 このコードは、印刷のキャンセル ジョブをクリックすると機能しますが、印刷をクリックすると機能しません。キャンセルと印刷の両方で動作する必要があります。

<script type="text/javascript">
  <!-- Print & Submit page -->
function Submit_print_google()  {                   

    // Google form
  var formElementsArray = document.getElementsByTagName('FORM');
  if (formElementsArray != null) {
    var formElement = formElementsArray[0];
      document.getElementById('Google_form').name = 'NOVIEWSTATE';
      formElement.action = 'https://docs.google.com/forms/d/xxx/formResponse';  
      formElement.submit();
      // Redirect
      redirect()}
 }
</script>
<script type="text/javascript">

 // Redirect
 function redirect()
 {window.print(); 
 window.location = 'http://www.link.com/HomePage.html'; }
 </script> 

私もこれを試しました。ただし、キャンセルのみでは何も機能しません

function redirect(){       
     if (window.print()) {
        window.location = 'http://www.link.com/Home.page.html';
    } else {
        window.location = 'http://www.link.com/Home.page.html';
    }
}
4

1 に答える 1