Just nu i M3-nätverket
Gå till innehåll

Mattias1980

Medlem
  • Antal inlägg

    11
  • Gick med

  • Senaste besök

  1. Hej, Tack för all hjälp, men jag har äntligen lyckats hitta lösningen som t.o.m. fungerar bättre än vad jag kunde förvänta mig Jag hittaden sida som förklarar hur Javascript fungerar, och efter lite pill i koden så har jag en kanonlösning!!! Men bara för att ni tagit er tid så ska jag prova även denna lösning och se om den fungerar! Här kommer koden för den som söker denna funktion, den läggs in i själva formulärssidan inom "FORM". Viktigt är att man under "FORM" lägger till detta: Name="best" och onsubmit='return validateMyForm()'. Sen är det bara som sagt att klistra in denna kod någonstans mellan <form></form> <script type="text/javascript"> function validateMyForm() { // Create validation tracking variables var valid = true; var validationMessage = 'Du måste fylla i följande:\r\n'; // Validate Kst ansvarig if (document.best('Kostnadsställeansvarig').value.length == 0) { validationMessage = validationMessage + ' - Namn på kostnadsställeansvarig\r\n'; valid = false; } if (document.best('kostnadsställe').value.length == 0) { validationMessage = validationMessage + ' - Kostnadsställe\r\n'; valid = false; } if (document.best('beställare').value.length == 0) { validationMessage = validationMessage + ' - Namn på beställare\r\n'; valid = false; } if (document.best('sssid').value.length == 0) { validationMessage = validationMessage + ' - SSSID på beställare\r\n'; valid = false; } if (document.best('avdelning').value.length == 0) { validationMessage = validationMessage + ' - Avdelning som beställare tillhör\r\n'; valid = false; } if (document.best('byggnad').value.length == 0) { validationMessage = validationMessage + ' - byggnad beställaren arbetar i\r\n'; valid = false; } if (document.best('sammasom').value.length == 0) { validationMessage = validationMessage + ' - ID som det ska beställas samma-som\r\n'; valid = false; } // Validate checkboxes if (document.best('ma').checked == false && document.best('maalp').checked == false && document.best('magpp').checked == false && document.best('mcc').checked == false && document.best('mcl').checked == false && document.best('mm').checked == false && document.best('mmc').checked == false ) { validationMessage = validationMessage + ' - Minst ett alternativ måste bockas i\r\n'; valid = false; } // Display alert box with errors if any errors found if (valid == false) { alert(validationMessage); } return valid; } </script> Hm.... ni måste ta bort allt som heter: </script> Det kom med automatiskt när jag klistrade in koden....
  2. Hela koden ser ut såhär gällande IF i scriptet som tar emot ASP informationen: ' Obligatoriska formulärfält (namnen avgränsas med kommatecken) strRequiredFields = "Kostnadsställeansvarig,Lastbil" '-------------------------------------------------------------------- IF Request.Form("action")<>"doSend" THEN ' BESÖKAREN KOM EJ FRÅN FORMULÄRET PÅ RÄTT SÄTT ' Skickar tillbaks till formulärsidan strGoToPage = strFormPage&"?sendmail=failed" ELSE ' KOLLAR ATT ALLA FÄLT ÄR KORREKT IFYLLDA allFieldsOk = True haveMissingFields = False FOR Each item IN Request.Form ' Strunta i vissa standardformulärvärden IF lCase(item)<>"submit" AND lCase(item)<>"action" THEN ' Kolla om obligatoriska fält är ifyllda 'Response.Write item &" = "& Request.Form(item) &" ("&inStr(lCase(strRequiredFields),lCase(item))>0&")" IF inStr(lCase(strRequiredFields),lCase(item))>0 AND Trim(Request.Form(item))="" THEN allFieldsOk = False haveMissingFields = True strMissing = strMissing & item & "," END IF 'IF inStr((strRequiredFields),("Lastbil"))=FALSE THEN 'allFieldsOk = False 'haveMissingFields = True 'strMissing = strMissing & item & "," 'ELSE 'allFieldsOk = True 'haveMissingFields = False 'END IF 'END IF 'AND Trim(Request.Form(item))="" ' Skapa en sträng med alla formulärfält och deras värden IF trim(request.form(item))<>"" AND inStr((strRequiredFields),("Lastbil"))<>FALSE THEN strFormFields = strFormFields & uCase(item) & uCase("Lastbil") & ": " & Trim(Request.Form(item)) & vbCrLf END IF END IF Next IF haveMissingFields = True THEN strMissing = "&missing="&strMissing strMailError = strMailError & "missingFields," END IF IF Right(strMissing,1)="," THEN strMissing=Left(strMissing, (len(strMissing)-1)) END IF ' Här skulle man kunna kolla att det är en korrekt formaterad e-postadress IF 1=0 THEN allFieldsOk = False strMailError = strMailError & "faultyEmail," END IF IF NOT allFieldsOk THEN ' FEL PÅ NÅGOT INMATAT ' Skicka tillbaks till formulärsidan med felmeddelande strMailError = "&error="&strMailError IF Right(strMailError,1)="," THEN strMailError=Left(strMailError, (len(strMailError)-1)) END IF strGoToPage = strFormPage&"?sendmail=failed"&strMailError&strMissing ELSE ' SKAPA MAILETS INNEHÅLL strMailBody = ""&_
  3. Jag har försökt allt snart känns det som Om jag använder denna kod med endast ett textfält som obligatorisk info så fungerar det strålande, jag kan ha hur många textfält jag vill med krav med endast denna lilla kod: IF inStr(lCase(strRequiredFields),lCase(item))>0 AND Trim(Request.Form(item))="" THEN allFieldsOk = False haveMissingFields = True strMissing = strMissing & item & "," END IF Men så fort jag försöker labba lite med krav på en checkbox så fungerar det inte? I själva ASP formuläret så lägger jag ju till denna kod: IF inStr(strMissing,"Kostnadsställeansvarig")>0 THEN Response.Write("<li>Fritext på vad jag vill meddela</li>") Sen skickas det för kontroll och behandling till mitt sendmail-script som jag skrev först. Detta fungerar som sagt utan några konstigheter.
  4. Jag har försökt alla möjliga varianter jag kan komma på, det jag sitter med nu är detta: FOR Each item IN Request.Form ' Strunta i vissa standardformulärvärden IF lCase(item)<>"submit" AND lCase(item)<>"action" THEN ' Kolla om obligatoriska fält är ifyllda 'Response.Write item &" = "& Request.Form(item) &" ("&inStr(lCase(strRequiredFields),lCase(item))>0&")" IF inStr(lCase(strRequiredFields),lCase("Kostnadsställeansvarig"))=>0 AND Trim(Request.Form("item"))="" THEN allFieldsOk = False haveMissingFields = True strMissing = strMissing & item & "," ELSEIF inStr(lCase(strRequiredFields),lCase("Lastbil"))=FALSE THEN allFieldsOk = False haveMissingFields = True strMissing = strMissing & item & "," END IF ' Skapa en sträng med alla formulärfält och deras värden IF trim(request.form("Kostnadsställeansvarig"))<>"" AND inStr(lCase(strRequiredFields),lCase("Lastbil"))<>FALSE THEN strFormFields = strFormFields & uCase(item) & ": " & Trim(Request.Form(item)) & vbCrLf END IF END IF Next IF haveMissingFields THEN strMissing = "&missing="&strMissing strMailError = strMailError & "missingFields," END IF IF Right(strMissing,1)="," THEN strMissing=Left(strMissing, (len(strMissing)-1)) END IF Men jag får inte till det iaf. Om jag har: IF inStr(lCase(strRequiredFields),lCase("Kostnadsställeansvarig"))=>0 AND Trim(Request.Form("item"))="" THEN allFieldsOk = False haveMissingFields = True strMissing = strMissing & item & "," ELSEIF inStr(lCase(strRequiredFields),lCase("Lastbil"))=FALSE THEN allFieldsOk = False haveMissingFields = True strMissing = strMissing & item & "," END IF Så får jag upp felmeddelande på både test och checkbox. Men jag blir ändå tvungen att fylla i ett fält som inte har krav på sig för att kunna skicka iväg beställningen, sen "behöver" inte checkboxen vara ibockad utan mailet skickas iaf och felkoden för krav på checkbox försvinner inte om endast den är ibockad. Om jag däremot tar bort denna sträng på första raden: AND Trim(Request.Form("item"))="" Så försvinner felkoden när checkboxen är ibockad, emn inget mail kan skickas iväg....
  5. Hej, hoppas det finns någon vänlig själ som kan hjälpa mig med mitt lilla bekymmer Jag har idag ca 50st ASP formulär som verksamheten använder dagligen för att skicka in beställningar till vår IT-avdelning. Jag har i detta formulär idag 3st fält med krav på som beställaren måste fylla i. Jag vill ha en liknande funktion på de "checkboxes" som finns med i formuläret och att om det är möjligt minst 1 av dom måste vara ibockad för att mailet ska skickas iväg. Som det ser ut nu så räcker det med att dom fyller i uppgifter i textfälten men det finns inget krav på att dom måste bocka i någon av de tre checkboxarna som finns med. Här kommer koden för själva beställningsformuläret: <br> *</span>= Obligatorisk information. Felaktig/ej komplett ifylld information kan leda till att beställningen <strong>ej expideras</strong>.<br> </span></span><span class="style4"> </p> <% ' TA EMOT SVAR FRÅN MAILSKRIPTET' strMissing = Request.QueryString("missing") strError = Request.QueryString("error") ' OM ALLT GICK BRA' IF Request("sendmail")="completed" THEN Response.Write("<div class=""messageBox success""><p style=""text-align:center;""><strong>Din beställning har skickats!</strong></p></div>") ELSE ' OM NÅGOT GICK FEL' IF Request("sendmail")="failed" THEN Response.Write("<div class=""messageBox error"">") Response.Write("<p class=""heading"">Ett fel uppstod!</p>") IF strError="missingFields" THEN ' Skriver ut vilka obligatoriska fält som saknas (beroende på svar från sendmail.asp) ' Response.Write("<p> Obligatoriska uppgifter saknas.<br> Du måste ange:</p><ul>") IF inStr(strMissing,"Kostnadsställeansvarig")>0 THEN Response.Write("<li>SSSID på den person som lägger avbeställningen</li>") IF inStr(strMissing,"Beställare")>0 THEN Response.Write("<li>Namn på den person avbeställningen avser</li>") IF inStr(strMissing,"SSSID")>0 THEN Response.Write("<li>SSSID på den person avbeställningen avser</li>") Response.Write("</ul>") END IF IF strError="unknown" THEN ' Skriver ut att okänt fel uppstod ' Response.Write("<p class=""heading"">Anledning okänd, meddelandet kunde ej skickas.</p>") END IF Response.Write("</div>") END IF %> <form action="sendmail.asp" method="post" id="contactForm" style="width: 633px"> </span> <strong><span class="style9">SSSID på den person som lägger avbeställningen:<br> </span></strong> <table style="width: 600px; height: 30px"> <tr> <td style="width: 10%; text-align: right;" style="text-align:right" class="style4"> SSSID:</td> <td><span class="style7"> <span class="style4"> <input name="Kostnadsställeansvarig" maxlength="6" style="width: 80px"></span></span> <sup><span class="style6"><strong>*</strong></span></sup></td> </tr> </table><span class="style4"><br> </span> <span class="style9"><strong>Användare som avbeställningen avser:<br> </strong></span> <table style="width: 600px; height: 60px"> <tr> <td style="width: 10%" style="text-align:right" class="style4"> Namn:</td> <span class="style5"> <td><span class="style7"><span class="style4"><input name="Beställare" style="width: 220px"></span></span> <sup><span class="style6"><strong>*</strong></span></sup></td> </span><span class="style3"><span class="style5"> <tr> <td style="width: 10%" style="text-align:right" class="style4"> SSSID:</td> <td class="style5"><span class="style7"> <span class="style4"> <input name="SSSID" maxlength="6" style="width: 80px"></span></span> <sup><span class="style6"><strong>*</strong></span></sup><td> <span class="style4"> </span></td></span><span class="style3"><span class="style5"> </span></span></span></table><span class="style4"><br> </span> <strong> <span class="style9">Beställningsinformation:<br> <br> </span> </strong> <span class="style4">Jag vill avbeställa följande behörighet i Prossess:</span><table style="width: 600px; height: 90px"> <tr> <td style="width: 5%" class="style8"><span class="style7"> <span class="style4"><input type="checkbox" name="Lastbil" value="Prossess för Lastbil"></span></span><span class="style4"> </span></td> <td>Lastbil</td> </tr> <tr> <td style="width: 5%" class="style8"><span class="style7"> <span class="style4"><input type="checkbox" name="Buss" value="Prossess för Buss"></span></span><span class="style4"> </span></td> <td>Buss</td> </tr> <tr> <td style="width: 5%" class="style8"><span class="style7"> <span class="style4"><input type="checkbox" name="Alla" value="Alla behörigheter i Prossess"></span></span><span class="style4"> </span></td> <td>Alla behörigheter</td> </tr> </table> <strong><span class="style9"><br> Övrig information:</span></strong> <span class="style4"> <br> </span> <span class="style7"> <span class="style4"> <input name="övrig information" style="width: 420px"></span></span> <span class="style4"> <br> </span> <p style="text-align:left"> <span class="style7"> <span class="style4"> <input type="submit" value="Skicka meddelande"></span></span><span class="style4"> </span> </p> <span class="style7"> <span class="style4"> <input type="hidden" name="action" value="doSend"> </span> </span> </form> <% END IF %> </body></html> Kod för att skicka mailet: <%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%> <% '----------------------| INSTÄLLNINGAR |----------------------------- ' Anpassa dessa att motsvara din mailleverantör ' myMailServer = "min.doman.com" myUsername = "anvandarnamn" myPassword = "losenord" intServerPort = 25 ' Namn på filen med formuläret ' strFormPage = "Prossesstabort.asp" ' Standardavsändare av mailet ' strMailSender = "Avbeställning Prossess <_>" ' Standardärende för mailets ' strMailSubject = "Avbeställning Prossess" ' E-Postadress till mottagaren av formuläret ' strMailRecipient = "minmail.com" ' Obligatoriska formulärfält (namnen avgränsas med kommatecken) ' strRequiredFields = "kostnadsställeansvarig,Beställare,SSSID" '-------------------------------------------------------------------- IF Request.Form("action")<>"doSend" THEN ' BESÖKAREN KOM EJ FRÅN FORMULÄRET PÅ RÄTT SÄTT ' ' Skickar tillbaks till formulärsidan ' strGoToPage = strFormPage&"?sendmail=failed" ELSE ' KOLLAR ATT ALLA FÄLT ÄR KORREKT IFYLLDA ' allFieldsOk = True haveMissingFields = False FOR Each item IN Request.Form ' Strunta i vissa standardformulärvärden ' IF lCase(item)<>"submit" AND lCase(item)<>"action" THEN ' Kolla om obligatoriska fält är ifyllda ' IF inStr(lCase(strRequiredFields),lCase(item))>0 AND Trim(Request.Form(item))="" THEN allFieldsOk = False haveMissingFields = True strMissing = strMissing & item & "," END IF ' Skapa en sträng med alla formulärfält och deras värden ' IF trim(request.form(item))<>"" THEN strFormFields = strFormFields & uCase(item) & ": " & Trim(Request.Form(item)) & vbCrLf END IF END IF Next IF haveMissingFields THEN strMissing = "&missing="&strMissing strMailError = strMailError & "missingFields," END IF IF Right(strMissing,1)="," THEN strMissing=Left(strMissing, (len(strMissing)-1)) END IF ' Här skulle man kunna kolla att det är en korrekt formaterad e-postadress ' IF 1=0 THEN allFieldsOk = False strMailError = strMailError & "faultyEmail," END IF IF NOT allFieldsOk THEN ' FEL PÅ NÅGOT INMATAT ' ' Skicka tillbaks till formulärsidan med felmeddelande ' strMailError = "&error="&strMailError IF Right(strMailError,1)="," THEN strMailError=Left(strMailError, (len(strMailError)-1)) END IF strGoToPage = strFormPage&"?sendmail=failed"&strMailError&strMissing ELSE ' SKAPA MAILETS INNEHÅLL ' strMailBody = ""&_ "Avbeställning Prossess "&vbCrLf&_ "=========================================="&vbCrLf&_ "SSSID på den person som lägger avbeställningen: "&vbCrLf&_ "SSSID: "&Request.Form("Kostnadsställeansvarig")&vbCrLf&_ "=========================================="&vbCrLf&_ "Namn på den person som avbeställningen avser: "&vbCrLf&_ "Namn: "&Request.Form("Beställare")&vbCrLf&_ "SSSID: "&Request.Form("SSSID")&vbCrLf&_ "=========================================="&vbCrLf&_ "Beställningsinformation: "&vbCrLf&_ "Jag vill avbeställa följande behörighet i Prossess: "&vbCrLf&_ ""&Request.Form("Lastbil")&vbCrLf&_ ""&Request.Form("Buss")&vbCrLf&_ ""&Request.Form("Alla")&vbCrLf&_ "=========================================="&vbCrLf&_ "Övrig information: "&vbCrLf&_ ""&Request.Form("övrig information")&vbCrLf&_ "=========================================="&vbCrLf ' SKAPAR HTML-FORMATERAT INNEHÅLL ' strHTMLbody=Replace(strMailBody, vbCrLf, "<br>") strHTMLbody=Replace(strHTMLbody, " ", " ") ' SKAPAR MAILET MED INSTÄLLNINGAR OCH SKICKAR DET ' cdoAnonymous = 0 cdoBasic = 1 cdoNTLM = 2 cdoSendUsingPickup = 1 cdoSendUsingPort = 2 SET objMail = server.CreateObject("CDO.message") SET objConf = server.CreateObject("CDO.configuration") objMail.TextBody = strMailBody objMail.HTMLBody = strHTMLbody objMail.From = Request.Form("Beställare") &" " &Request.Form("SSSID") objMail.Sender = strMailSender objMail.Subject = strMailSubject objMail.To = strMailRecipient objConf.Fields.item("http://schemas.microsoft.com/cdo/configuration/sendusing") = cdoSendUsingPort objConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserver") = myMailServer objConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpserverport") = intServerPort objConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/smtpauthenticate") = cdoBasic objConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendusername") = myUsername objConf.Fields.Item("http://schemas.microsoft.com/cdo/configuration/sendpassword") = myPassword objMail.Configuration = objConf objMail.Configuration.fields.update On error resume next objMail.Send SET objMail=nothing SET objConf=nothing ' LITEN FELHANTERING ' IF Err.Number <> 0 THEN strGoToPage = strFormPage&"?sendmail=failed&error=unknown" ELSE strGoToPage = strFormPage&"?sendmail=completed" END IF END IF END IF ' SKICKAR ANVÄNDAREN VIDARE ' ' beroende av vad som hänt ovan ' Response.Redirect(strGoToPage) %> Se bif. fil för kod som används för att skicka mailet. sendmail.txt
  6. Hej! Nu var det ett tag sedan som jag skrev här. Men jag har fortfarande inte löst mitt lilla problem med att bifoga filer till e-post . Men formulären fungerar iaf felfritt med kravfält osv! Så om någon har behov av detta så kan jag maila dom och förklara hur dom fungerar. Finns det någon som möjligtvis kan knäcka denna lilla kod? Tacksam för alla tips som man kan få TabortSimas - Kopia.zip Någon som kan tyda mina bifogade filer ovan och kan hjälpa mig? Väääldigt tacksam för all hjälp jag kan få då mina gråa hår har ökat med 25% /Mattias
  7. Ok nej funktionen som jag är ute efter är att man ska kunna bifoga en fil helt oberoende av servern då det är endast ett fåtal personer som har behörighet till den. Samt att utomstående personer ska kunna bifoga t.ex. bilder, exceldokument m.m. som dom har lokalt på sen egen dator. Men denna funktion kanske inte går att använda?
  8. Hej igen, nu rullar allt på hur bra som helst Men nu skulle jag vilja kunna bifoga en fil i formuläret och vet inte riktigt hur jag ska göra detta, jag har provat följande kod: <INPUT TYPE="file" NAME="Fil" ALLOW="text/*" MAXLENGTH=50> Som jag använder i formuläret, och: "Fil: "&Request.Form("Fil")&vbCrLf&_ Som jag använder i ASP scriptet som genererar mailet. Men det enda som kommer med då är en hyperlänk i mailet som kommer till min inkorg. Kan jag ändra i denna kod så att man kan "uploada" filen så att filen blir bifogad i mailet? Tacksam för svar Med vänliga hälsningar Mattias
  9. Oj snabba svar på denna sida, sånt gillar vi . Kanon det ska provas månad morgon så fort man kommer till kontoret! Tackar för all hjälp, det uppskattas väldigt mycket! Trevlig helg Mvh Mattias
  10. Hej, Tack för all hjälp med detta, nu fungerar scriptet nästan helt felfritt! Det som jag hoppas att ni kan svara på härnäst gäller sorteringen i det mail jag får skickat till min E-post med ifylld information. Det verkar sortera fälten rätt slumpmässigt och jag vet inte hur jag ska få alla fält och komma i samma ordning som i formuläret. Ex: Beställning behörighet till MONA ========================================== 101:KOSTNADSSTÄLLEANSVARIG: 1 104:BESTÄLLARE: 1 107:BYGGNAD: 1 102:KOSTNADSSTÄLLE: 1 109:TELEFON: 1 103:ANSVARIG TELEFON: 1 108:NODNUMMER: 1 105:SSSID: 1 106:AVDELNING: 1 16:SAMMASOM: Ange SSSID här ========================================== Som ni ser så har jag provat alla möjliga sätt för att få sorteringen och hamna rätt. Det går bra med nummer 1 till 9, men efter det (10,11,12 osv.) så blandas det hursom, och jag har inte den blekaste vad det är som påverkar detta? Sen undrar jag om jag kan påverka det färdiga mailet så att det genereras som t.ex följande exempel oavsett om sorteringen fungerar eller inte: Beställning behörighet till MONA ========================================== Kostnadsställeansvarig 101:KOSTNADSSTÄLLEANSVARIG: 1 102:KOSTNADSSTÄLLE: 1 103:ANSVARIG TELEFON: 1 Användare 104:BESTÄLLARE: 1 105:SSSID: 1 106:AVDELNING: 1 107:BYGGNAD: 1 108:NODNUMMER: 1 109:TELEFON: 1 Samma som användare 16:SAMMASOM: Ange SSSID här ========================================== Jag har sorterat texten manuellt! Scriptet lägger ju som sagt in all information från de ifyllda fälten med ett kommando "strFormFields&_" Kan man dela upp detta så att man kan lägga in information som i mitt exempel ovan? Dvs: härleda till några fält och sedan lägga in en egen text och sedan ta fler/resten av de ifyllda fälten. Tacksam om jag kan få hjälp och lösa detta Annars kanske ni vet någon bra sida att ladda ner andra färdiga script oxå som jag kan använda mig av? Tacksam för all hjälp jag kan få. Med vänliga hälsningar Mattias
  11. Hej, väldigt trevlig sida man hamnat på då man letar hjälp! Denna tråden är ganska gammal men den innehåller den hjälp jag behöver iallafall . Jag arbetar på Scania och behöver skapa ett beställningsformulär då dom har bytt till 2008 servrar nu och då stödjer den nya servern inte CFG skript som vi använder idag. Funktionen jag behöver få och funka är att beställaren fyller i information på det han/hon vill beställa och sedan klickar på en "submit" knapp. Då ska det skickas ett mail till angiven e-post adress med all information som är ifylld. Tidigare i denna tråd står det: sendmail.asp är skriptet som tar emot formulärdatat och skickar mailet. Du måste ange dina e-postserverinställningar (myMailServer, myUsername och myPassword) samt avsändar- och mottagaradress (strMailSender, strMailRecipient) för mailet. mailform.asp är formulärsidan. Surfa till den och fyll i formuläret för att skicka mail. Det står att jag ska ange mina e-postserverinställningar (myMailServer, myUsername och myPassword), vilka uppgifter är det? Måste jag fråga serveransvarig efter dessa uppgifter eller för att få detta att fungera? Väldigt tacksam för all hjälp jag kan få med detta då dom kommer att stänga ner den gamla servern om ett par månader och jag har en hel del hemsidor och formulär som jag måste få och funka innan dess. Med vänliga hälsningar Mattias
×
×
  • Skapa nytt...