2010-11-04 12 views
18

Bueno, tengo una página asp.net donde tengo un botón que estoy usando para ejecutar un JavaScript ... pero después de que el JavaScript ha ejecutado la página vuelve a cargar (devolución de datos) ¿cómo puedo evitar eso?botón sin devolución de datos?

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

Traté de volver falsa de la función printElement y que no tuvo ningún efecto .. – Peter

+0

¿Ha agregado un retorno en frente de la llamada a printElement? – Paddy

+0

bien colocando la devolución falsa en la función printElement no pareció cambiar nada, pero al colocarlo como 2 publicado pareció funcionar ¡muchas gracias! – Peter

Respuesta

43

es necesario utilizar return false

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

+1 - esto funciona genial. Solo quería agregar que poner el "retorno falso"; en su función javascript no funcionará, tiene que aparecer después del método en la declaración onclick. Esperaba que lo opuesto fuera cierto y no es :( – dyslexicanaboko

+0

después de días de tratar de hacer que esto funcione, finalmente nos lo sirves en una bandeja de plata. Gracias – vbNewbie

+1

nota si usas 'onclick =" return printElement (' content '); "' entonces PUEDE usar el valor de retorno, 'true' o' false' de la función. Solo tiene que devolver _something_ desde el evento onclick mismo (que a su vez está envuelto en una función antes de la excepción), o por defecto es 'verdadero'. –

6

Alter hace clic en evento de la siguiente manera:

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

si usted no necesita un palo, se debe utilizar un botón HTML.

en ese caso no es necesario reemplazar el comportamiento para evitar el segundo palo y es laighter para cargar (que no necesita ser trabajado por el servidor para hacer volver el código HTML)

+0

eso es exactamente lo que estoy haciendo o al menos intentar ... – Peter

+0

El botón HTML no puede subir una publicación. Probablemente está usando la versión asp.net.

+1

35

Añadir type="button" a su etiqueta <button> así:

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

This answer explica el comportamiento.

+0

+ 1 solución más limpia –

+2

Increíble. Me faltaba la parte "tipo = botón", y sin ella, "devolver falso"; simplemente no tuvo ningún efecto. Gracias por el consejo ! –

+0

Esta es la respuesta correcta. No entiendo por qué esa otra respuesta recibió tantos votos positivos. – Matthew

3

sólo debe utilizar un botón de entrada en su lugar:

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

este doest NECESITA una forma (para que pueda utilizarlo sin) y usted no tiene el problema con la devolución de datos.

Esperanza esto ayuda

Cuestiones relacionadas