Definirea funcției javascript în pagina php

M-am confruntat cu o problemă cu apelarea unei funcții JavaScript din evenimentul onclick al unui obiect span.

Aici este obiectul span:

<td>Save</td>

Iată funcția JavaScript pe care încerc să o încorporez în partea de sus a paginii PHP pe care se găsește butonul de salvare:

<script type="text/javascript">

    submitUser = function()
    {
        alert('hello');
    }

</script>

Continuă să obțin eroarea javascript, "Eroare de referință necorespunzătoare: submitUser() nu este definită" dacă definesc funcția JavaScript pe aceeași pagină ca și butonul de salvare. Dar dacă am pus definirea funcției pe pagina care cheamă pagina care conține butonul de salvare, funcția funcționează foarte bine. Există o modalitate prin care pot obține acea funcție în domeniul paginii de salvare a butonului. Chiar nu vreau să trebuiască să fie încărcată respectiva funcție în memorie de fiecare dată când se face încărcarea paginii care cheamă pagina cu butonul de salvare, ceea ce este în prezent singurul mod în care pot obține această funcție.

0
nu este sigur, dar de ce folosești un formular precum submitUser = function() {...} ? De ce nu doar funcția submitUser() {...} ? Dacă rămâneți cu primul, probabil că aveți nevoie de un cuvânt cheie var . Ar putea fi var lipsă care determină ca funcția să rămână nedefinită. Am încercat doar jsfiddle.net/vgvZw și formularul pe care l-ați funcționat bine în Firefox. Deci, probabil că nu încorporați corect scenariul în pagină.
adăugat autor Cheeso, sursa
Am eliminat toate php-urile și acum am un fișier html care conține doar butonul și funcția .js. Cred că va trebui să recurg la plasarea funcției în dosarul exterior. Aceasta este singura modalitate prin care pot fi definite.
adăugat autor Ryan, sursa
Nu punctul nu este consumul de memorie în modul în care spui. Numai că singura modalitate prin care pot fi definită funcția este includerea funcției într-o pagină exterioară în care funcția nu este utilizată, mai degrabă decât definirea acesteia pe pagina unde va fi folosită.
adăugat autor Ryan, sursa
Punerea scriptului în capul html nu a funcționat. Forma submitUser = function() este exact modul în care am fost învățat și am făcut-o întotdeauna. Acesta este modul în care l-am definit în apelul de pagină exterioară unde funcționează funcția.
adăugat autor Ryan, sursa
Folosesc firefox și crom, același comportament în ambele.
adăugat autor Ryan, sursa
Ya am schimbat funcția submitUser() {...}, dar asta nu a avut niciun efect. Când spui "încercați să puneți var în față", ce vrei să spui prin asta? Imi pare rau ..
adăugat autor Ryan, sursa
Ce vrei să spui "partea de sus a paginii php"? Puneți scenariul în capul html.
adăugat autor Denys Séguret, sursa
Deci, te-ai hotărât să nu ne dai mai multe informații, nu-i așa?
adăugat autor Chango, sursa
Puteți adăuga fișierul PHP cu codul relevant? Aș vrea să o văd în context.
adăugat autor Chango, sursa
Ați putea adăuga un cod php? Ne-ar putea ajuta să înțelegem problema.
adăugat autor Chango, sursa
încercați să puneți var în față, dacă nu funcționează încercați doar definirea funcției submitUser: function submitUser() {}
adăugat autor Matt Wolfe, sursa
încercați onclick = "javascript: submitUser ();" atribut, deși eu sunt cu funcția Cheeso submitUser() {} este modul în care ar trebui să scrieți funcțiile JS
adăugat autor Gntem, sursa
poate că codul PHP care imprimă funcția JavaScript și etichetele de script nu este tipărit sau nu este analizat corect, nu închiderea unei etichete poate avea ca rezultat .. oferi mai multe informații ...
adăugat autor Gntem, sursa
Puteți adăuga versiunea dezlipită a paginii php?
adăugat autor sv_in, sursa
Oh, bine de știut.
adăugat autor Jared, sursa
Am putea greși, dar nu cred că ar trebui să aveți punct și virgulă după sumbitUser ().
adăugat autor Jared, sursa
@ Jared: acest lucru nu schimbă nimic
adăugat autor Pierre, sursa

1 răspunsuri

Incearca asta :

<script>
function submitUser() {
    alert("hello!");
}
</script>

și asta:

Save
0
adăugat
JavaScript, România - Moldova
JavaScript, România - Moldova
328 participanți

Comunitatea Română JavaScript: github.com/js-ro Pentru confort, opriți notificările. Parteneri: @node_ro, @php_ro, @python_ro, @seo_ro, @RomaniaGroup, @ai_ro, @Grupuri_IT Offtop: @holywars_ro Joburi: @js_jobs_ro Sponsored with ❤️ by ciupacabra.com

PHP România, Moldova
PHP România, Moldova
173 participanți

Vorbim despre Yii, Laravel, Symphony, MySQL, PgSQL, WP, OpenCart... Pentru confort, opriți notificările. Parteneri: https://ciupacabra.com @js_ro @node_ro @python_ro @seo_ro @Romania_Bot Offtop: @holywars_ro Joburi: @php_job @Grupuri_IT