Jag antar att när man utför en submit av ett formulär, så skickas det i bakgrunden en URL till det script som ska ta emot. Scriptet vet väl sen hur den ska hantera det hela.
Kan man på nåt sätt veta URL strängen som formuläret skickar?
URL:en är det som står i action på form-taggen, plus formulärinnehållet om man valt method="get" (också det på form-taggen).
Oavsett om man valt post eller get, kan man ju använda javaskript för att komma åt formulärinnehållet. Sätt en id="nånting" på varje formulärelement (input/textarea) och sen kommer du åt den med document.getElementById("nånting").value (exempelvis).
Det finns två anrop (Som är av värde för diskussionen) GET och POST. GET är den typ av anrop som används vid vanlig sidhämtning samt i formulär med method="GET". GET skickar all data synligt i formulärsfältet. POST skickar formulärdatat i http-headern istället.
Det är rätt coolt faktiskt.
Samtidigt undrar man varför man då behöver ha ett formulär, om man ändå kan baka in allt i samma url.
Jag testade att ersätta en <form> med en image map med olika länkar.
Det är rätt coolt faktiskt.
Samtidigt undrar man varför man då behöver ha ett formulär, om man ändå kan baka in allt i samma url.
Jag testade att ersätta en <form> med en image map med olika länkar.
GET ska du använda, som namnet antyder, för att hämta data, medan du ska använda POST för att skicka data. Skillnaden är inte bara ytlig. Webbläsaren skiljer på de två genom varna om du försöker ladda om en POST-sida, eftersom informationen kan skickas igen, medan webbläsaren gärna cachar GET-anrop.
Vad gäller GET-anrop så behöver du mycket riktigt inget formulär, du kan länka direkt. Det kan du inte med POST.
Men är det som det låter? get = hämta värde, medan post = skicka ett värde som scriptet bearbetar?
formuläret krävde POST innan, men jag lyckades ändå använda mig av en href lösning. Kan det vara så att det _egentligen_ är GET men att det funkar med POST ändå? Eller måste det vara absolut rätt för att det ska funka? För i så fall borde det ju inte ha gått med href eller hur?
Hmm? Kanske? Kan hända att skriptet på servern kollar efter båda POST och GET. (T ex genom att använda $_REQUEST i PHP)
Värt att nämnas är också om du har ett formulär som ser ut typ så här:
<form action="sida.php?a=b" method="post"></form>
...så kommer PHP lägga "a=b" i $_GET men alla formulär-element i $_POST.