2012-05-31 53 views
0

這個運行就像它是完全正確的。爲什麼不執行此代碼?

// Save, set state to finalized and Print 
     $('#btnDialogPrint').click(function() { 

      if ($('#chkFinal').is(':checked')) { 
       $(function() { 
        $("#PrintDialog").dialog('close');  
       }); 
      } 
      else { 
       $('#chkFinal').attr('checked', true); // Set finalized. This checkbox is not visible its like a hidden field 
       $('#btnSubmit').click(); // Save 
      } 

     }); 

,這也運行良好:

window.location = '../Print/' + $('#SalesContractId').val(); 

但是,當我把它們放在一起,只運行的的

了window.location =」 ../打印/'+ $('#SalesContractId')。val();

完整代碼:

// Save, set state to finalized and Print 
    $('#btnDialogPrint').click(function() { 

     if ($('#chkFinal').is(':checked')) { 

      $(function() { 
       $("#PrintDialog").dialog('close'); 
       window.location = '../Print/' + $('#SalesContractId').val(); // Moves to ContractController Print 
      }); 
     } 
     else { 
      $('#chkFinal').attr('checked', true); // Set finalized. This checkbox is not visible its like a hidden field 
      $('#btnSubmit').click(); // Save 
      window.location = '../Print/' + $('#SalesContractId').val(); // does not alow above code to execute 
     } 

    }); 
+2

這與ASP.NET MVC無關。刪除標籤。 –

+0

這是一個mvc應用程序,這只是我的js文件中的代碼 – Pomster

+0

爲了將來的參考,如果可以的話,請將代碼發佈到jsfiddle.net上。它會幫助我們更快地進行調試。 –

回答

4

刪除單擊處理內部$(function() { ... });,並把它ouside

$(function() { 
    $('#btnDialogPrint').click(function() { 
     if ($('#chkFinal').is(':checked')) { 
      $("#PrintDialog").dialog('close'); 
      window.location.href = '../Print/' + $('#SalesContractId').val(); 
     } else { 
      $('#chkFinal').attr('checked', true);     
      $('#btnSubmit').click(); 
     } 
    }); 
}); 

$(function() { ... });意味着document.ready

這就是你說的你似乎打電話$('#btnSubmit').click();。請注意,如果這個#btnSubmit實際上是某種形式的提交按鈕(如其ID所示),那麼當提交表單時,它將自動將瀏覽器重定向到表單的action屬性。所以在這種情況下調用window.location.href來重定向是沒有意義的。我想你將不得不重新考慮你想要達到的目標。

+0

其他方面不運行上面的兩行window.location ...... – Pomster

+0

Ahhhh好吧謝謝我看到了,所以我不能提交,然後直接打印後,與此代碼? – Pomster

+0

我在'if'中移動了'window.location'。正如我的回答所解釋的,在提交表單後調用'window.location'是沒有意義的。 –