Citat:
Ursprungligen postat av
Nina112
Hej är väldigt basic på html och har en kod till skicka formulär
<form id="form" name="form" method="post" action="mailto:adress@adress.se">
Problemet är att i action så när man skickar formuläret så kommer upp ett mail program som skickar och det är för att jag använder mailto. Finns det något sätt som gör att den skickar direkt från formuläret? Och gärna med en liten återkopplingsknapp som "Din fråga är skickad" under aciton?
Istället för att använda mailto så anropar du ett program på en server. Detta program kan vara skrivet i PHP, eller något annat språk, det är av mindre betydelse vilket. Du väljer programeringsspråk baserat på dina kunskaper, vad som finns installerat på server, etc.
Detta program läser de värden som skickas över via HTTP från ditt formulär, behandlar dem på lämpligt sätt och returnerar ett resultat. I det här fallet skulle jag använda GET istället för POST, och returnera en tack-sida (om allt går bra).
Men vad jag skulle rekommendera, om du vill att det ska bli lite mer "modernt", är att du använder Javascript för att skicka dina värden till servern via ett Ajax-anrop. Programmet på servern returnerar sedan ett svar (i JSON-format) som din kod på webbsidan kan läsa. Beroende på vad som kommer tillbaka kan du göra olika saker, till exempel visa en tack-ruta utan att hela sidan behöver laddas om.
För att göra det enklare att skriva koden ovan kan du använda ett funktionsbibliotek som jQuery, men du ska ändå först lära dig åtminstone grunderna i Javascript innan du börjar med jQuery.
Här är en kodsnutt i jQuery från ett program jag jobbar med, det gör just vad jag beskriver ovan. I det här fallet anropar jag ett program ("agent") skrivet i Lotusscript som ligger på en IBM Domino-server. Jag har modifierat koden lite och lagt in några rader som är relevant i ditt exempel. Kan säkert vara något slarvfel i koden, har inte testkört den...
Kod:
// Skapa JSON-objekt som innehåller värden från fälten
var json = new Object;
json["Firstname"]=$("#fnamn").val();
json["Email"]=$("#epost").val();
json["Message"]=$("#meddelande").val();
// Anropa kod på servern som uppdaterar databas-records med värdena
$.ajax({
url: "http://www.example.com/database.nsf/ajax_UpdateClient?OpenAgent",
data: json,
cache: false
}).done(function(data) {
// Lägg in kod här för att läsa returnerad data
});