„Submit“ nėra „JavaScript“ klaida

Ar kas nors gali pasakyti, kas vyksta su šiuo kodu? Bandžiau pateikti formą naudodami javascript, tačiau rodoma klaida ".submit is not function". Daugiau informacijos apie kodą žr.

 <form action="product.php" method="get" name="frmProduct" id="frmProduct" enctype="multipart/form-data"> <input onclick="submitAction()" id="submit_value" type="button" name="submit_value" value=""> </form> <script type="text/javascript"> function submitAction() { document.frmProduct.submit(); } </script> 

Aš taip pat bandžiau:

 <script type="text/javascript"> function submitAction() { document.forms["frmProduct"].submit(); } </script> 

Abi man rodo tą pačią klaidą: (

222
07 мая '09 в 8:41 2009-05-07 08:41 Jin Yong paklausė gegužės 07'09 08:41 am 2009-05-07 08:41
@ 14 atsakymų

pateikimas nėra funkcija

reiškia, kad vadinate pateikimo mygtuką arba kitą submit elementą. Pervardykite mygtuką į btnSubmit ir jūsų skambutis bus stebuklingai.

Kai įvesite pateikimo mygtuką, perrašysite formoje pateiktą funkciją submit() .

608
07 мая '09 в 14:46 2009-05-07 14:46 atsakymas pateikiamas epascarello 07 gegužės '09 at 14:46 2009-05-07 14:46
 <form action="product.php" method="post" name="frmProduct" id="frmProduct" enctype="multipart/form-data"> <input id="submit_value" type="button" name="submit_value" value=""> </form> <script type="text/javascript"> document.getElementById("submit_value").onclick = submitAction; function submitAction() { document.getElementById("frmProduct").submit(); return false; } </script> 

EDIT: aš netyčia pakeitiau ID

11
07 мая '09 в 8:44 2009-05-07 08:44 atsakė į Čado dotaciją gegužės 07'09 08:44 2009-05-07 08:44

Įsitikinkite, kad nėra kitos formos, turinčios tą patį pavadinimą, ir įsitikinkite, kad formoje nėra vardo = "pateikti" arba id = "pateikti".

7
31 мая '14 в 12:00 2014-05-31 12:00 atsakymą gopeca pateikė gegužės 31 d. 14 val. 12:00 2014-05-31 12:00

Jei negalite pakeisti name="submit" , formą galite pateikti taip:

 function submitForm(form) { var submitFormFunction = Object.getPrototypeOf(form).submit; submitFormFunction.call(form); } 
5
25 янв. atsakymas pateikiamas Terbiy sausio 25 d 2017-01-25 11:18 '17 at 11:18 2017-01-25 11:18

Turėjau tą pačią problemą, kai sukūriau MVC programą, naudodama pagrindinius puslapius. Bandžiau ieškoti elemento su „pateikti“, kaip minėta pirmiau, tačiau taip nebuvo.

Mano atveju, mano puslapyje jis sukūrė keletą žymų, todėl buvo problemų, susijusių su teisinga forma.

Norėdami tai padaryti, aš suteiksiu mygtuko rankenėlę, kuri naudos formos objektą:

 onclick="return SubmitForm(this.form)" 

ir su js:

 function SubmitForm(frm) { frm.submit(); } 
5
18 июня '12 в 10:40 2012-06-18 10:40 atsakymą pateikė Quangahh birželio 18 d. 12 val. 10:40 2012-06-18 10:40

Šiame skyriuje yra daug atsakymų, tačiau tai, kas geriausiai veikė (ir paprasčiausia viena eilutė!) Man buvo Neil E. Pearson 2013 m. Balandžio 21 d. Komentaro pakeitimas:

Jei paspaudžiate mygtuką #submit Submit, galite jį apeiti, vagydami kitą instancijos metodą ().

Mano metodo keitimas ir tai, kas man buvo naudinga:

document.createElement('form').submit.call(document.getElementById(frmProduct));

1
25 мая '17 в 20:54 2017-05-25 20:54 Atsakymą davė jlemley , gegužės 25 d. 17 d., 20:54 val

Galimi sprendimai -
1. Įsitikinkite, kad neturite kito elemento, pavadinto / id kaip pateikti.
2. Pabandykite skambinti funkcijai, pvz., onClick = "return submitAction();"
3. document.getElementById("form-name").submit();

1
21 дек. atsakymas, kurį pateikė Ramki . 2017-12-21 10:12 '17 10:12 2017-12-21 10:12

pateikiant formos elementą, kurį pateikia pavadinimas, pateikiamas tik šešėlis. įsitikinkite, kad neturite pavadinimo formos elemento ir turėtumėte prieiti prie pateikimo funkcijos tik gerai.

1
25 сент. atsakymas pateikiamas aeid 25 sep . 2016-09-25 20:28 '16 at 8:28 pm 2016-09-25 20:28

Ką aš naudoju

 var enviar = document.getElementById("enviar"); enviar.type = "submit"; 

Tiesiog todėl, kad viskas dar neveikė.

0
16 июля '16 в 11:54 2016-07-16 11:54 atsakymas pateikiamas compraspro.com 16 liepa 16, 11:54 2016-07-16 11:54

Turėtumėte naudoti šį kodą:

Naudokite getElementById:

 document.getElementById ('frmProduct').submit () 
-1
07 мая '09 в 12:18 2009-05-07 12:18 atsakė Ilya Birmanui gegužės 07'09 val. 12:18 2009-05-07 12:18

Kiti klausimai apie „ žymes arba Užduoti klausimą