Avatar billede orumsgrafisk Nybegynder
22. oktober 2007 - 11:30 Der er 12 kommentarer og
1 løsning

Send ikke "tomme" felter i formen

Hej

Jeg ville hører om der er nogen som ved hvordan man få den til KUN at sende de felter der er tekst i. Har søgt i tidligere svar, men det virker ikke helt (nok fordi jeg ikke ved hvor det helt præcis skal sættes ind). Er det noget man laver i JavaScript?

Jeg har følgende 2 forskellige felter (Farve / Antal):

<select name="Farver 1" id="Farver 1">
<option selected="selected"></option>
<option>Blå og Røde</option>
<option>Flere farvet</option>
<option>Begge farver</option></select>

<input name="Antal 1" type="text" value="" size="3" maxlength="5" id="Antal 1"/>

Hvordan vælger jeg at disse to felter KUN skal komme med i mailen, når der er indtasten en værdi i antal?
Avatar billede montago Praktikant
22. oktober 2007 - 11:34 #1
du mangler value

<select name="Farver 1" id="Farver 1">
  <option value="" selected="selected"></option>
  <option value="Blå og Røde">Blå og Røde</option>
  <option value="Flere farvet">Flere farvet</option>
  <option value="Begge farver">Begge farver</option>
</select>

<input name="Antal 1" type="text" value="" size="3" maxlength="5" id="Antal 1"/>

herefter er det kun den valgte fra select som sender sin value
Avatar billede montago Praktikant
22. oktober 2007 - 11:50 #2
ligger de inde i en form, egentligt ?... som du submitter ?

eller skal du hente værdien med JS ?
Avatar billede orumsgrafisk Nybegynder
22. oktober 2007 - 12:30 #3
Ja de ligger i en form, og jeg får også værdien fra felterne, men jeg ser også de felter hvor der IKKE er indtastet noget i mailen.

Kan man få vist i den mail jeg modtager KUN de felter hvor der er indtaste noget i?
(Undskyld hvis det ikke var forklaret godt nok)
Avatar billede montago Praktikant
22. oktober 2007 - 12:55 #4
altså -- det er normalt at hvis du i en form, har 3 text felter, at disse sender en tom streng hvis der ikke er indtastet noget i dem...

du skal jo parse din querystring/form-body for at hive værdierne ud igen...

bruger du JS eller ASP/PHP ?
Avatar billede orumsgrafisk Nybegynder
22. oktober 2007 - 13:11 #5
Ingen af delene. Har lavet en form som indeholder

<select name="Farver1" id="Farver1">
      <option selected="selected"></option>
      <option>Blå og Røde</option>
      <option>Flere farvet</option>
      <option>Begge farver</option>
    </select>

samt

<input name="Antal 1" type="text" value="" size="3" maxlength="5" id="Antal 1" />

o.s.v.

tilslut en submit.

Men kan det laves med en JS?
Avatar billede soerenlyn Nybegynder
22. oktober 2007 - 13:21 #6
Dette kunne måske virke, er ikke sikker, har bare lige slået det sammen..

function FormSubmit(form){
  for(i=0;i<form.length;i++){
    if(form.elements[i].value=="") form.removeChild(form.elements[i])
  }
}
Avatar billede soerenlyn Nybegynder
22. oktober 2007 - 13:22 #7
så skal du så kalde funktionen fx på <form onsubmit="this">
Avatar billede montago Praktikant
22. oktober 2007 - 13:39 #8
jamen... hvor poster du formen hen til ?? er det til en anden side eller hvad ?

kan du ikke vise den side eller script som modtager din form ??
Avatar billede orumsgrafisk Nybegynder
23. oktober 2007 - 02:51 #9
Tror ikke det er forstået helt rigtigt.

Jeg vil KUN have at det er de udfyldte felter på en formside der bliver sent til mailadressen, istedet for det er BÅDE de udfyldte og tomme felter der bliver sendt?

Formsider virker, men skal somsagt KUN have sendt de udfyldte felter.
Avatar billede w13 Novice
23. oktober 2007 - 03:29 #10
Men din mailafsendelseskode er hemmelig, så vi skal gætte os til, hvordan det foregår? :)
Avatar billede montago Praktikant
23. oktober 2007 - 10:08 #11
FFS... vi kan jo ikke hjælpe hvis du ikke fortæller hvordan systemet er strikket sammen -- det du spørger om har jo intet med selve FORM'en at gøre -- med mindre man via DOM fjerner elementer som ikke er sat...

det smarteste er jo at lave MODTAGEREN optimalt, som jo også er den vigtigste del i ethvert Formular-system
Avatar billede soerenlyn Nybegynder
23. oktober 2007 - 10:54 #12
Du kan gøre som jeg skrev øverst med at fjerne de formelementer som er tomme inden du submitter, men ellers kan du vel bare tjekke på din modtagersiden om Request.Form("..")<>"" og kun dér tilføje det til mailen ??
Avatar billede orumsgrafisk Nybegynder
24. oktober 2007 - 02:13 #13
Sorry. den er bestemt ikke hemmelig... tror jeg ikke. Bruger den standart Dandomain har. Er det dette her du/I mener:

<form action="http://scripts.dandomain.dk/formMail.asp" method="post">
<input type="hidden" name="DToMail" value="E-adr.">
<input type="hidden" name="DMailSubject" value="Bestilling!">
<input type="hidden" name="DSortFields" value="Navn,Telefon,Adresse,....,IP">
<input type="hidden" name="DFieldRequire" value="Navn,Telefon,Adresse,By">
<input type="hidden" name="DSuccess_URL" value="ok.htm">
<input type="hidden" name="Dfailure_URL" value="fejl.htm">
<input type="hidden" name="IP" value="%%IP_ADR%%">
<input type="hidden" name="Dato" value="%%NICE_DATE%%">
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester