2011-12-29 14 views
12

Bu sorunla hiç uğraşmadı mı? JQuery'nin son sürümünde bu hatayı alıyorum. Sürüm 1.6.2 ile çalıştı ve sorun yok.TypeError: '[object HTMLInputElement]' bir işlev değil ('elem [type]()') jQuery form.submit() 'de değerlendiriliyor

TypeError: '[object HTMLInputElement]' is not a function (evaluating 'elem[ type ]()') 

line 3175 

Farkında olmamız gereken bir şey değişti mi? senin input etiketinin adının herhangi submit ise

sayesinde Jack

+6

İlgili kodu gösterebilir misiniz? –

+0

Bir yerlerde yanlış bir argümanı geçtiğiniz gibi görünüyor. –

+0

Belki de '' '$ (form) .submit()' '' ı deneyin. –

cevap

37

genellikle böyle olur. Örneğin yukarıdaki Kodu

<form id="frm"> 
    <input type="submit" name="submit" value="Post" /> 
</form> 

, document.getElementById("frm").submitinput elemanı temsil eder. () uygulandığında submit Bu hatayı gösterir.

+0

Teşekkürler Shiplu. Bu o oldu. Ben jQuery kullanırken hangi adı kullanmak için daha dikkatli olmalıyım – juminoz

+3

@juminoz: Bu jQuery ile ilgili değil, genel bir JavaScript/DOM/scope problemi. –

+0

@FelixKling Bu doğru olabilir, ancak aynı sorunu 1.6.2 sürümünde görmediğim için, – juminoz

3

Bir form göndermek için son zamanlarda javascript üzerinde safari ile benzer bir sorun hade. name="submit"'a sahip olan gönderme elemanı nedeniyle ortaya çıkmış, bunun bir işlev olarak geri dönmesine neden olduğu çelişkiliydi.

<input id='foo' name='fooName' onclick='foo();'> <!-- BAD: id matches function --> 

<input id='fooId' name='foo' onclick='foo();'> <!-- BAD: name matches function --> 

<input id='fooId' name='fooName' onclick='foo();'> <!-- WORKS! --> 

Bu:

7

Bir input elemana idveyaname nitelikleri ya aynı ada sahip bir JavaScript işlevi çağırmak için onclick özelliğini kullanırken bu hata ortaya çıkar bulduk davranış, giriş tipine bakılmaksızın gerçekleşir.

+0

Bu, benim için hataya neden olan tam olarak budur. Bir onay kutusu kurulumunu şu şekilde yaptım: ' " Ad "ve "id" etiketleri: '

+0

Burada aynı sorun, çakışmaları işaretlediğiniz için teşekkürler. – tangent

+0

bana çözümünüzü bulmak için çağlar aldı çünkü kimse kimlikleri ve isimleri ile gerçek bir örnek yazmamıştı. Aksi halde bu adamlar, eşleşen isimlerin bu hataya neden olduğunu anlayacaktır. çok teşekkürler! – Rikco

İlgili konular