2016-04-18 14 views
2

Ich versuche, externe Funktion mit Button onclick Ereignis in asp.net mvc Anwendung auszuführen.Aber einige resignieren es nicht richtig funktioniert, kann ich nicht verstehen, was die resion.Button onclick Funktion funktioniert nicht richtig in jquery

<input type="button" id="123" onclick="alert('123')" value="Button 1" /> 
<input type="button" id="124" value="Button 2" /> 
<input type="button" id="125" onclick="Show_id();" value="Button 3" /> 
<input type="button" id="126" value="Button 4" /> 

JQuery-Code hier.

<script type="text/javascript"> 
$(document).ready(function() { 
    $("124").click(function() { 
     alert(this.id); 

    }) 

    function Show_id() { 
     alert(this.id); 
    } 
    $("126").click(function() { 
     alert("message"); 

    }) 


}) 

wenn Taste 1-Klick Dann arbeiten nicht Properly.But Rest Es funktioniert 3 Bytton.

+5

Wenn Sie 124 in der jQuery-Code Ziel, müssen Sie $ (tun' # 124'), um anzuzeigen Sie Targeting die ID –

+0

oh! kein kleiner Fehler –

Antwort

0

$(document).ready(function() { 
 
    $("#124").click(function() { 
 
     alert(124); 
 

 
    }) 
 

 
    function Show_id(e) { 
 
     
 
     alert(e.type); 
 
    } 
 
    
 
    $("#126").click(function() { 
 
     alert("message"); 
 

 
    }) 
 

 

 
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<input type="button" id="123" onclick="alert('123')" value="Button 1" /> 
 
<input type="button" id="124" value="Button 2" /> 
 
<input type="button" id="125" onclick="return Show_id(event);" value="Button 3" /> 
 
<input type="button" id="126" value="Button 4" />

0

Ive posted hier ein jsfiddle. https://jsfiddle.net/1tsx7e6z/

<input type="button" id="123" onclick="alert('123')" value="Button 1" /> 
<input type="button" id="124" value="Button 2" /> 
<input type="button" id="125" onclick="Show_id()" value="Button 3" /> 
<input type="button" id="126" value="Button 4" /> 

$(document).ready(function() { 
    $("#124").click(function() { 
     console.log('124'); 
    }); 

    $("#126").click(function() { 
     alert("message"); 
    }); 

}); 

//Note its outside of ready() above. Also I use window.xyz here because of jsfiddle loading into 'load' scope by default, so im attaching to window. This is generally bad practice either way, avoid inline click function calls. 
window.Show_id = function() { 
    alert(event.target.id); 
} 
  1. Sie vermissen #

  2. Ihre show_id ist in einem anderen Bereich (seine in document.ready)

  3. Rufen Sie nicht inline Onclick Ereignisse :) Seine schlechte Übung. Verwenden Sie jQuery, wie Sie für # 126 in einen Haken haben.

  4. auch nicht jemals Benutzereingaben erlauben hinzugefügt werden, um oncliick = „somethingFromTheUser“, da sie leicht Javascript in Orten injizieren können Sie nicht erwarten (es gibt zu viele Angriffsvektoren über das Hinzufügen darum zu kümmern, nur don 't es tun)

+0

ja Sir, aus Versehen habe ich vergessen # Symbol zu setzen, danke für den 4. Punkt. es hilft mir wirklich sehr, ich erinnere mich daran. –

+0

sicher, bitte antwort akzeptieren, wenn es hilft. Vielen Dank! PS Ich empfehle jedem Web-Entwickler, einige Sicherheits-Kurse zu sehen, um die OWSP Top 10 https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project als einen guten Ausgangspunkt zu überprüfen. –

Verwandte Themen