2015-11-17 155 views
1
<input type="button" value="PRINT TIMESHEET" style="height:115px; width:350px; font-size:20pt; font-weight:bold;" onclick="print();"> 

function print() { 
    if ($('#rate').val() > 1) { 
     window.print(); 
    } 
    else { 
     alert('You need to fill in a value for hourly rate'); 
    } 
} 

該警報的作品,如果我把其他東西比window.print();它會執行(所以我知道這是window.print(),這就是問題所在),但由於某些原因,我不能讓window.print沒有做這樣的工作:JQuery打印功能不會打印

<input type="button" value="Print this page" onClick="window.print()"> 

我使用Chrome目前正在嘗試確保它在那裏有效,然後我開始準備我的網頁以便與其他瀏覽器一起使用。

感謝, -CD

+0

如果「警告有效」,那麼你顯然進入了'else'塊而不是'if'塊......實際上'window.print() '。嘗試在每個塊中放置不同的警報,並在您描述的條件下查看哪個警報正在觸發。另外,你的html在哪裏?你不能只使用''而不是''?你真的沒有給我們太多的工作。 – Marc

+0

這種情況絕不會發生......如果滿足if條件,只會在塊內執行語句,而else塊不會執行。在你的邏輯中可能會出現一些錯誤,請再次調試,如果問題仍然存在,請與我們分享一下。 – Lal

+0

看看[this fiddle](http://jsfiddle.net/Ljmxj8ue/2/) 。打印窗口是否立即打開?如果沒有,那麼您可能在Chrome中禁用了打印預覽對話框。 – wahwahwah

回答

1

您已經通過聲明globalprint功能覆蓋了本地window.print方法。重命名你的函數,你的代碼將起作用。

另外,來自輸入的值總是字符串,最好將字符串轉換爲數字,然後再將其與另一個數字進行比較。例如像這樣:

if (+($('#rate').val()) > 1) { ... } 
+0

分離這個問題,它似乎是我需要重新命名我的功能的第一個案例。謝謝! – codingdraculasbrain