2016-03-29 3 views
0

ich auf einer asp.net Anwendung arbeite, wo ich Schaltfläche wie folgt geschrieben haben: -Wie man Knopfereignis verursacht, tritt ohne Seitenladung auf?

<button onclick='javascript:imagech(this);' class='close_product color_dark tr_hover'><i class='fa fa-times'></i></button> 

Ich habe auch eine clientseitige JavaScript-Funktion für den Button:

<script type="text/javascript"> 
    function imagech() { 
    alert('image clicked.'); 
    } 
</script> 

Was ich Ich möchte, dass, wann immer ich auf diese Funktion klicke, das Button-Click-Ereignis nicht zum Laden von Seiten führen sollte. Das obige Objekt ist keine Serversteuerung, aber das Ereignis tritt beim Laden der Seite auf. Ich kann auch eine andere HTML-Steuerelement wie folgt verwenden:

<input type='button' onclick='javascript:cartclicked(this);' value='X' class='close_product color_dark tr_hover' /> 

und dies nicht auftritt, nicht Laden der Seite, aber ich möchte Symbol verwendet auch als:

<i class='fa fa-times'></i> 

innerhalb <button> Tag. aber das <i> Tag wird nicht in <input> Tag verwendet. Wie kann ich <button> Ereignis ohne Seitenladung Tag? Bitte hilf mir hier jemandem.

+0

'ohne seiten-laden' ich bin mir nicht sicher, ob ich das richtig verstanden habe – guradio

+0

Verwende' JavaScript event binding' innerhalb 'window.onload' handler – Rayon

+0

@Rayon Dabre wie kann ich das benutzen? –

Antwort

2

Es scheint, dass Sie <button> in einem <form> Element verwenden. Standardmäßig fungiert eine Schaltfläche als senden Schaltfläche und es versucht, Ihr Formular auf klicken Sie auf.

Um mit der Taste, um fortzufahren und zu vermeiden dieses Problem Sie Typ als Schaltfläche angeben müssen, wie unten gezeigt

<button type="button" onclick='javascript:imagech(this);' class='close_product color_dark tr_hover'><i class='fa fa-times'></i></button> 
+0

es funktioniert perfekt für mich. –

2

Wenn ich Sie richtig das Problem zu verstehen ist, dass die Taste in einem form (Der asp.net-Formular) und das click Ereignis das Formular an den Server senden. Deshalb ist die Seitenladung aufgetreten.

Die Lösung auf die Schaltfläche hinzufügen Just (es spielt keine Rolle, ob Sie input oder button verwenden) Attribut type="button".

+0

Es funktioniert sehr gut für mich. Danke. –

Verwandte Themen