mboost-dp1
jQuery - form virker ikke anden gang.
- Forside
- ⟨
- Forum
- ⟨
- Programmering
Jeg er ikke den skarpeste til jQuery eller JavaScript, så jeg er løbet ind i et problem, som jeg ikke selv kan gennemskue.
Jeg har lavet en "Tip til en ven"-funktionalitet, hvor jQuery laver en popup-side, ved klik på et link. Når felterne er fyldt ud sendes data til et php-script med et AJAX-kald.
Ved 'success' ændres HTML'en i en div, så der vises en Tak-besked og en mulighed for at trykke "Send til flere venner". Trykker man "Send til flere" ændres HTML'en tilbage, så formen vises igen.
Problemet er, at formen på dette tidspunkt ikke virker længere. Det er som om, at noget af Javascriptet ikke bliver kørt igen. Hvis man udfylder formen og trykker "Send" så loades siden bare forfra igen, med form-data tilføjet i adresse-linjen.
jQuery kan ses her: http://pastebin.com/RpAfF9dV
Er der nogen, der kan gennemskue, hvorfor formen ikke virker anden gang man forsøger?
Hvis jeg har lavet nogle andre jQuery- eller Javascript-bommerter, så sig endelig til.
På forhånd tak,
qed
Jeg har lavet en "Tip til en ven"-funktionalitet, hvor jQuery laver en popup-side, ved klik på et link. Når felterne er fyldt ud sendes data til et php-script med et AJAX-kald.
Ved 'success' ændres HTML'en i en div, så der vises en Tak-besked og en mulighed for at trykke "Send til flere venner". Trykker man "Send til flere" ændres HTML'en tilbage, så formen vises igen.
Problemet er, at formen på dette tidspunkt ikke virker længere. Det er som om, at noget af Javascriptet ikke bliver kørt igen. Hvis man udfylder formen og trykker "Send" så loades siden bare forfra igen, med form-data tilføjet i adresse-linjen.
jQuery kan ses her: http://pastebin.com/RpAfF9dV
Er der nogen, der kan gennemskue, hvorfor formen ikke virker anden gang man forsøger?
Hvis jeg har lavet nogle andre jQuery- eller Javascript-bommerter, så sig endelig til.
På forhånd tak,
qed
Nåh, jeg tilføjede et tomt <div> under formen, som jeg bruger til at vise Tak-beskeden i. Så er jeg ude over problemet med at fjerne HTML og indsætte det igen.
Men jeg vil da gerne høre, hvis nogen har et bud på, hvorfor det oprindelige ikke virkede? Og selvfølgelig hvis der er andet galt :)
Men jeg vil da gerne høre, hvis nogen har et bud på, hvorfor det oprindelige ikke virkede? Og selvfølgelig hvis der er andet galt :)
Mit umiddelbare bud er, at da du fjerner content i #ven_content, fjerner du også de events jQuery er registreret via. Når du så indsætter din form i #ven_content igen, er den ikke registreret til nogle callback funktioner i jQuery.
En bedre løsning er at blot skjule formen i #ven_content med "display: none;".
En bedre løsning er at blot skjule formen i #ven_content med "display: none;".
Gå til top
Opret dig som bruger i dag
Det er gratis, og du binder dig ikke til noget.
Når du er oprettet som bruger, får du adgang til en lang række af sidens andre muligheder, såsom at udforme siden efter eget ønske og deltage i diskussionerne.