Soru TypeError: e [h] bir işlev değil


Problemsiz jquery 1.6 kullanıyorum. Bugün jquery 1.8'e geçtim ve aniden bir form göndermeye çalışırken bu hatayı alıyorum:

TypeError: e[h] is not a function.

Form:

<form method="post" action="login?login" name="login" id="login">
<input class="input" type="text" name="user_mail" id="user_mail" autocomplete="on" />
<input class="input" type="password" name="password" id="password" autocomplete="off" />
<a class="green_button" href="javascript:void(0)" id="login_button">Login</a>
<input type="submit" name="login" id="submit" style="visibility:hidden" />
</form>
<script language="javascript">
$("#login_button").click(function(){
    $("#login").submit();   
});
</script>

Bir şey mi eksik?

Teşekkürler!


17
2017-08-16 02:18


Menşei




Cevaplar:


Aşağıdaki satırı kaldırın.

<input type="submit" name="login" id="submit" style="visibility:hidden" />

Güncelleştirme:


29
2017-08-16 02:24



Bazı tarayıcılar giriş yapamayacağından bunu ekledim. Bunun yerine o çizgiyi nasıl gerçekleştirebilirim? - Fede E.
+ Mükemmel! İşe yaradı!! Teşekkürler! - Fede E.
@Apog: Öğeyi kaldırmak zorunda değilsiniz, sadece kimliği başka bir şeye submit. Chrome'daki hata mesajı biraz daha yardımcı oldu: Uncaught TypeError: Property 'submit' of object #<HTMLFormElement> is not a function. - Felix Kling
@FelixKling Bir çekicilik gibi büyümüş. Teşekkürler! - Fede E.
sadece bir not: açıklanmış olan OP ile aynı sorun, name = "submit" kullanıldığında olur, sadece id değil - jmadsen


Ben aynı sorunu düzeltmek için 3 saat çalıştım, benim gönder düğmem için 'gönder' adını kullanıyordum ve $ ("# form_name") çağırıyordu. bir işlevde ve hatayı alıyordu. Bazen gözden kaçırdığım küçük şeyler çok zaman harcıyor.


5
2017-10-15 07:29



boşa tarafından ne demek istiyorsun? elma yeni bir telefon cam bina içine 1000 saat yatırım ya da tesla yeni şarj türünü oluşturmak için 10.000 saat yatırım yaparsa zaman kaybı mıdır ??? - Timsta
Benim israf ettiğim şey, hatamdan yeni bir şey öğrenemediğimdi. - Aman Aujla


Bence bu çünkü çizgi

<input type="submit" name="login" id="submit" style="visibility:hidden" />

kaldırabilir ve tekrar deneyebilir misiniz?


3
2017-08-16 02:48



Benim için bir hata vermiyor, ancak bağlantıyı tıkladığımda hiçbir şey olmuyor. jQuery form problemleri hakkında şikayet eden bir çok insan var ve çoğunun "submit" kimliğine sahip bir elementi var - alpera
Çizgiyi kaldırmanız gerekmez. Sadece 'id' özelliğinin değerini başka bir şeye değiştirin. - Rahatur


Bir formda bir gönderim tipi elemanı kullandığımızda, Bu öğe formun Gönder özelliği olarak ayarlanacaktır. Bu yüzden, submit () işlevini, formun diğer öğesiyle çağırmadı.

Bunu yapmanın iki yolu var. Birincisi, ilk cevapta verilen satırı kaldırır.

Veya $ ("# Submit") kullanın. Tetikleyici ("tıklayın"); $ ("# login") yerine submit ();. ve olacak Enter tuşuna basmak için formu da gönderin. 


1
2017-12-27 05:59





Sizin form ve input aynı isim özellik değerine sahip olmak login.

Değiştir name üzerinde input başka bir şeye submit. Bu hatayı temizlemelidir.


0
2017-08-16 02:28





Eğer varsa jQuery 1.7 (muhtemelen yukarıda) ile name özellik de denir submit kırılacak.

Örneğin.

<input type="submit" name="submit" value="Upload">

Ancak işe yaramaz:

<input type="submit" name="sendSubmit" value="Upload">

İyi.


0
2018-03-14 14:08