Som besökare på Hamsterpaj samtycker du till användandet av s.k. cookies för att förbättra din upplevelse hos oss. Jag förstår, ta bort denna ruta!
Annons

Behöver lite hjälp med ajax

Skapad av tok124, 2017-01-25 02:02 i Webbutveckling & Programmering

7 858
5 inlägg
1 poäng
tok124
Visningsbild
P 34 Hjälte 258 inlägg
1
Hej !

Jag har ett ajax script som jag använder för att printa ut resultat från php fil. Det funkar helt perfekt. Finns bara 1 problem. Det är om jag har flera forms på samma sida. Så de jag undrar är hur man gör så att den bara aktiveras av den form som man submitar ifrån istället för att behöva göra 1 ajax funktion för varje form.

Så här än den kod som jag kör på nu
Ett stycke javascript-kod:

$(document).ready(function() {
$('form').submit(function (event) {
var data = $(this);
$.ajax({
type: data.attr('method'),
url: data.attr('action'),
data: data.serialize(),
success: function (data) {
$('.output').html(data);
}
});
event.preventDefault();
});
});


Försökte förklara problemet så bra som det går. Men säg till om jag behöver förklara bättre. Hoppas iaf att ni förstår och kan hjälpa till med detta problem :)

Ha en bra dag !

Är reklamen ivägen? Logga in eller registrera dig så försvinner den!

Patrikp
Visningsbild
P 27 Karlskrona Hjälte 1 187 inlägg
0

Svar till tok124 [Gå till post]:
Du menar att du vill ha typ

form1

form2

form3

som skickar till samma PHP formulär, men du vill bara ha en ajaxfunktion för dem allihopa?


HareKrishnas gud sedan 2014

Tvillingen
Visningsbild
P 31 Hjälte 3 117 inlägg
0
Var lite mer specifik med dina selectors, för att sätta en event listener på alla dina formulär är ingen bra idé. Säg att du har ett formulär för att logga in på sidan sen, då kommer även det formuläret att lyssna till samma event.

Den här kodraden ska du alltså ändra.
Ett stycke javascript-kod:
$('form').submit(...)


Ändra till att ha en klass som är likadan för alla formulär som ska använda samma event listener. Exempelvis .ajaxform.

Ett stycke html-kod:

// HTML
<form class="ajaxform"></form>
<form class="ajaxform"></form>

// Javascript
$('.ajaxform').submit(...)


Annars borde väl din kod fungera vad jag ser. Du binder data till $(this) vilket borde hämta endast det formulär man "submittat" ifrån, så de andra formulären borde det inte hända någonting med.

Jag är ond!

tok124
Visningsbild
P 34 Hjälte 258 inlägg
Trådskapare
0

Svar till Patrikp [Gå till post]:
Ja precis så

tok124
Visningsbild
P 34 Hjälte 258 inlägg
Trådskapare
0

Svar till Tvillingen [Gå till post]:
Okej tack. Ska testa med en class istället.



Tillägg av tok124 2017-01-25 15:31

Tack. Det funkade när jag använda class


Forum » Datorer & IT » Webbutveckling & Programmering » Behöver lite hjälp med ajax

Ansvariga ordningsvakter:

Användare som läser i den här tråden just nu

1 utloggad

Skriv ett nytt inlägg

Hej! Innan du skriver om ett potentiellt problem så vill vi påminna dig om att du faktiskt inte är ensam. Du är inte onormal och världen kommer inte att gå under, vi lovar! Så slappna av och gilla livet i några minuter - känns det fortfarande hemskt? Skriv gärna ner dina tankar och frågor, vi älskar att hjälpa just dig!

Den här tråden är äldre än Rojks drömtjej!

Det senaste inlägget i den här tråden skrevs för över tre månader sedan. Är du säker på att du vill återuppliva diskussionen? Har du något vettigt att tillföra eller passar din fråga i en ny tråd? Onödiga återupplivningar kommer att låsas så tänk efter en extra gång!

Hjälp

Det här är en hjälpruta

Här får du korta tips och förklaringar om forumet. Välj kapitel i rullningslisten här ovanför.

Rutan uppdateras automagiskt

När du använder funktioner i forumet så visas bra tips här.


Annons
Annons
Annons
Annons