Avatar billede tblaster Nybegynder
25. juni 2002 - 18:14 Der er 11 kommentarer og
1 løsning

Check form

Hejsa

Jeg har følgende form:

<FORM NAME="MyForm" METHOD="POST" ENCTYPE="multipart/form-data"
  ACTION="upload.asp?<% = PID %>"
  OnSubmit="return ShowProgress();">

      <INPUT TYPE="FILE" SIZE="40" NAME="FILE1">
  <INPUT TYPE=SUBMIT VALUE="Upload!"> <br>
      &nbsp;</FORM>

Jeg ønsker at inden formen sendes så checkes der for følgende 2 ting:
1. Om feltet er tom, hvis skal man ikke sendes vidre men få en besked derom.
2. (Jeg ved ikke om dette er muligt) Der skal checkes for fil endelsen. Hvis denne ikke er jpg, jpeg eller gif så skal filen ikke sendes og brugren skal få en besked derom!
Avatar billede proboss Nybegynder
25. juni 2002 - 18:27 #1
Avatar billede medions Nybegynder
25. juni 2002 - 18:45 #2
Det er ikke afprøvet, men se lige om det virker!

<html>
<head>
    <title></title>
</head>
<body>
<script language="VBScript">
<!--
Sub btnEnter_OnClick
  Dim TheForm, txtmsg
  txtmsg = ""
  Set TheForm = Document.MyForm
 
  If TheForm.File1.value = "" Then       
        txtMsg = txtMsg + "Feltet er tomt!" & vbCrLf
  End If
 
  If Left(TheForm.File1.value,3) = "jpg" Or Left(TheForm.File1.value,3) = "gif" Or Left(TheForm.File1.value,4) = "jpeg" Then
        txtMsg = txtMsg + "Filtypen er af JPG, JPEG eller GIF!"
  End If
 
  If txtMsg = "" Then
        TheForm.submit               
  Else
        MsgBox  txtMsg    ,,"De her data duér ikke"
  End if
End Sub
//-->
</script>

<FORM NAME="MyForm" METHOD="POST" ENCTYPE="multipart/form-data"
  ACTION="upload.asp?pid=111"
  OnSubmit="return ShowProgress();">

      <INPUT TYPE="FILE" SIZE="40" NAME="File1">
  <INPUT TYPE=SUBMIT VALUE="Upload!" name="btnEnter"> <br>
      &nbsp;</FORM>

</body>
</html>
Avatar billede eagleeye Praktikant
25. juni 2002 - 19:13 #3
Hvad laver din ShowPogress() function idag? den kunne du evt udbygge med dette kode, det er også lidt lettere med Javascript og det virker også i Netscape. Jeg har kaldt function ShowProgrss som den du kalder i forvejen hvis du har en function kan du bare ligge koden ind i toppen af din function og fjene denne linie:  return(true) så den ikke bare afslutte hvis det er rigtigt indtastet:


<script language="JavaScript"><!--
function ShowProgress() {
  var file1str = document.MyForm.FILE1.value.toLowerCase();
  if ((file1str.indexOf(".jpg")>0) || (file1str.indexOf(".jpeg")>0) || (file1str.indexOf(".gif")>0)) {
    return(true)
} else {
  alert ("Det skal være en jpg, jpeg eller gif fil!");
  return(false)
}
}
//-->
</script>
Avatar billede medions Nybegynder
25. juni 2002 - 19:16 #4
eagleeye> Det er op til ham selv, for han opretter spørgsmålet under ASP, og så må det jo være VB han forventer en løsning i. Havde det være JavaScript, havde det jo været JavaScript kategorien ;-)

//>Rune
Avatar billede tblaster Nybegynder
25. juni 2002 - 19:47 #5
Eagleeye ... jeg kan ikke få din til at virke ... jeg har denne showprogress allerede:

<SCRIPT LANGUAGE="JavaScript">
function ShowProgress()
{
  strAppVersion = navigator.appVersion;
  if (document.MyForm.FILE1.value != "" || document.MyForm.FILE2.value != "" || document.MyForm.FILE3.value != "")
  {
    if (strAppVersion.indexOf('MSIE') != -1 && strAppVersion.substr(strAppVersion.indexOf('MSIE')+5,1) > 4)
    {
      winstyle = "dialogWidth=380px; dialogHeight:140px; center:yes";
      window.showModelessDialog('<% = barref %>&b=IE',null,winstyle);
    }
    else
    {
      window.open('<% = barref %>&b=NN','','width=390,height=130', true);
    }
  }
  return true;
}
    </SCRIPT>
Avatar billede tblaster Nybegynder
25. juni 2002 - 19:48 #6
Medions ... dit virker ikke :-(
Avatar billede eagleeye Praktikant
25. juni 2002 - 19:50 #7
Så må du udevide den sådam her.. Bliver den kun kaldt fra Form'en ?

<SCRIPT LANGUAGE="JavaScript">
function ShowProgress()
{
  var file1str = document.MyForm.FILE1.value.toLowerCase();
  if ((file1str.indexOf(".jpg")>0) || (file1str.indexOf(".jpeg")>0) || (file1str.indexOf(".gif")>0)) {
//    return(true)
} else {
  alert ("Det skal være en jpg, jpeg eller gif fil!");
  return(false)
}
  strAppVersion = navigator.appVersion;
  if (document.MyForm.FILE1.value != "" || document.MyForm.FILE2.value != "" || document.MyForm.FILE3.value != "")
  {
    if (strAppVersion.indexOf('MSIE') != -1 && strAppVersion.substr(strAppVersion.indexOf('MSIE')+5,1) > 4)
    {
      winstyle = "dialogWidth=380px; dialogHeight:140px; center:yes";
      window.showModelessDialog('<% = barref %>&b=IE',null,winstyle);
    }
    else
    {
      window.open('<% = barref %>&b=NN','','width=390,height=130', true);
    }
  }
  return true;
}
    </SCRIPT>
Avatar billede tblaster Nybegynder
25. juni 2002 - 19:52 #8
Medions ... med din så kommer der en besked når der ikke er angivet nogen fil men den fortsætter alligevel ... derudover er det stadig mulighed for at uploade alt muligt andet!
Avatar billede tblaster Nybegynder
25. juni 2002 - 20:00 #9
Det virker fint nu ... et sidste spørgsmål eagleeye ... er det muligt at ændre i udseende på de der alert boxe?
Avatar billede eagleeye Praktikant
25. juni 2002 - 20:05 #10
Nej ikke med JavaScript det er kun mulig med VBScript...
Se evt mere her: http://www.webreference.com/dhtml/column22/js-vbNewvb.html
Avatar billede eagleeye Praktikant
25. juni 2002 - 20:07 #11
JavaScript har kun; alert eller confirm box.
alert har en Ok knap...  confirm har både en Ok og Cancel knap
Avatar billede tblaster Nybegynder
25. juni 2002 - 20:07 #12
Takker ...

Hvis du har tid så vil jeg gerne have dig til at hjælpe mig her:

http://www.eksperten.dk/spm/228569
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
Kurser inden for grundlæggende programmering

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