2010-11-04 46 views
18

嗯,我有一個asp.net頁面,我有一個按鈕,即時通訊使用執行JavaScript ...但JavaScript運行後頁面重新加載(回發)我怎麼能避免呢?沒有回傳的按鈕?

<button onclick="printElement('content');">Print</button> 
+0

我試圖從printElement函數返回false,並且沒有任何效果.. – Peter 2010-11-04 11:31:50

+0

你加在調用printElement前面的回報? – Paddy 2010-11-04 11:32:37

+0

把printElement函數中的返回false放好,似乎沒有改變任何東西,只是放置它像你2張貼似乎工作非常感謝! – Peter 2010-11-04 11:37:31

回答

43

你需要使用return false

<button onclick="printElement('content');return false">Print</button> 
+1

+1 - 這很有效。我只是想補充說,把「返回假」;在你的javascript函數中不起作用,它必須出現在onclick聲明中的方法之後。我希望反過來是真的,它不是:( – dyslexicanaboko 2013-03-06 22:27:53

+0

經過幾天努力得到這個工作,最後你把它送到我們的銀托盤。謝謝 – vbNewbie 2013-06-20 03:32:14

+1

注意,如果你使用'onclick =「return printElement('內容「);然後你可以使用函數的返回值true或false,你只需要從onclick事件本身返回_something_(它本身被包裝在一個函數中)。或者它默認爲'true'。 – 2013-09-19 02:22:52

6

影響你單擊事件如下:

<button onclick="printElement('content');return false;">Print</button> 
4

如果你並不需要一個回你應該使用一個HTML按鈕。

在這種情況下

你不需要重寫的行爲,以避免後回來了,它laighter加載(它不需要被服務器合作,使後面的HTML)

+0

多數民衆贊成正是我在做什麼?或者至少試圖.. – Peter 2010-11-04 12:37:27

+0

HTML按鈕不能提出一個帖子回自己。可能你使用的是asp.net版本 2010-11-04 13:30:34

+1

35

添加type="button"<button>標籤,像這樣:

<button type="button" onclick="printElement('content');">Print</button> 

This answer說明了其行爲。

+0

+ 1 最乾淨的解決方案 – 2013-11-08 11:08:52

+2

令人難以置信。我沒有「type = button」部分,沒有它,「返回false」;只是沒有效果。謝謝你的提示 ! – 2014-01-23 13:09:18

+0

這是正確的答案。我不明白爲什麼其他答案有這麼多upvotes。 – Matthew 2015-06-18 16:11:48

3

你應該只使用輸入按鈕來代替:

<input type="button" onclick="printElement('content')" value="Print" /> 

這行的也需要一個表格(所以你可以使用它沒有),你不要有回發的問題。

希望這有助於