2016-06-02 24 views
6

Birisi, "action" (eylem) adı verilen bir işlevin, düğme form etiketleri tarafından çevrelenmiş olur olmaz, aşağıdaki kodda neden bir tür hata oluşturduğunu açıklayabilir. Bu formun işlem niteliğine sahip bir garip çatışma yol açar varsayalım, ancak bu kapsamda ("eylem" başka bir şekilde tanımlanmamış) olur neden acaba: form içinde"action" olarak adlandırılan JavaScript işlevi

<html> 
<head> 
    <script type="text/javascript"> 
     function action() { 
      alert('test'); 
     } 
    </script> 
</head> 
<body> 
    <form> 
     <input type="button" value="click" onClick="action();"> 
    </form> 
</body> 
</html> 
+1

_ Bu soru için yinelenen bir şey olmadığına şaşırdım_ – Rayon

+0

Bu, inline olay işleyicilerinin çalışma şeklidir. Cevabımı buraya bakın: http://stackoverflow.com/questions/6941483/onclick-vs-event-handler/21975639#21975639 –

+0

@Rayon: Bu daha önce sorulmuştur, ancak sorunun ismini anlamak zor olabilir. ya da sorunun ne olduğunu bilmeden ne aramalıyız. Demek istediğim, bu sorunun başlığı problemin göstergesi değil. –

cevap

5

, action bir form eylemine dize başvurusu. Onclick'inizi alert(action) olarak değiştirirseniz, formun eylemini alırsınız (özel formunuz için boş bir dize olacaktır).

Aynı şekilde, form bir form için başvuruda bulunacak ve form içinde kullanıyorsanız, method form yöntemini içerecektir. window.action yine de işlevinize başvurur.

+0

@Rayon: Gerçekten mi? [Kromda değil, deneylerimde] (https://jsfiddle.net/hgczsppr/) –

+0

Ooh .. Haklısınız! Ben Fiddle: '' Load Type '' değiştirmedim :( – Rayon

+0

Stupid, aramanın problem değil, problem olduğunu görmüyordu.Şimdi her şey bir anlam ifade ediyor. – needfulthing

İlgili konular