Meddelande

Minska
No announcement yet.

Server.Execute & Validera formulär

Minska
X
 
  • Filter
  • Klockan
  • Show
Clear All
new posts

  • Server.Execute & Validera formulär

    Hej alla glada!
    Använder mig av Server.Execute för att infoga en massa sidor.
    På en sida jag infogar finns ett formulär som jag skulle behöva validera med hjälp av JS.
    Jag har testat att lägga scriptet både på "huvudsidan" och sidan där formuläret finns men det fungerar inte,

    [KOD]
    <script type="text/javascript">
    String.prototype.isValidEmail = function(){
    return !!this.match(/^([a-zA-Z0-9]{1}([a-zA-Z0-9\.\-\_]*)[a-zA-Z0-9]{1})@([a-zA-Z0-9]{1}([a-zA-Z0-9\.\-\_]*)[a-zA-Z0-9]{1})\.([a-zA-Z]{2,4})$/)
    }
    function validateForm() {
    if (document.f.namn.value=="") {
    alert("Du måste fylla i ett namn.");
    return false;
    } else if (!document.f.email.value.isValidEmail()) {
    alert("Du måste fylla i korrekt en E-mail adress.");
    return false;
    } else if (document.f.telefon.value=="") {
    alert("Du måste fylla i ett telefonnummer.");
    return false;
    } else if (document.f.alder.value=="") {
    alert("Du måste fylla i en ålder.");
    return false;
    } else if (document.f.malsman.value=="") {
    alert("Du måste fylla i en målsman.");
    return false;
    }
    }
    </script>
    [/KOD]

    Går det att fixa?

  • #2
    Beror väl på. Vad är det som inte funkar?
    @aviddevguy

    Kommentera


    • #3
      Den validerar inte utan den kör action direkt.
      [KOD]
      onSubmit="return validateForm();"
      [/KOD]

      Kommentera


      • #4
        Jag har svårt att se att det har något att göra med asp-koden, men du visar för lite kod hur som helst.

        Hur ser formuläret ut? Vad säger javascript-konsollen? Har du fler formulär? Har du kollat den resulterande koden i sidan så du vet vad som verkligen skickas till webbläsaren?
        @aviddevguy

        Kommentera


        • #5
          Oj, usch... den där koden känner jag mig pinsamt ansvarig för

          Scriptet är hårdkodad för att formuläret skall heta "f" och exempelvis fältet för e-post "email".

          Prova detta istället:
          [kod]
          <script type="text/javascript">
          String.prototype.isValidEmail = function(){
          return !!this.match(/^([a-zA-Z0-9]{1}([a-zA-Z0-9\.\-\_]*)[a-zA-Z0-9]{1})@([a-zA-Z0-9]{1}([a-zA-Z0-9\.\-\_]*)[a-zA-Z0-9]{1})\.([a-zA-Z]{2,4})$/)
          }
          function validateForm(obj) {
          if (!obj.email.value.isValidEmail()) {
          alert("Du måste fylla i korrekt en E-mail adress.");
          return false;
          } else {
          return true;
          }
          }
          </script>
          [/kod]

          samt
          [kod]
          onSubmit="return validateForm(this);"
          [/kod]

          Byt ut "email" i "obj.email.value" mot namnet på fältet för epost (antar att det är det du vill validera eftersom du valt detta script).
          / Jojoxx

          "Always remember that you're unique and special, just like everyone else..."

          Kommentera


          • #6
            Jag postade i asp för att jag ville veta om det gick att göra en valindering av ett formulär i den filen där formuläret är när man kör en Server.Execute eller om scriptet ska ligga på huvudsidan..

            Det är flera fält jag vill valendera. Alla förutom email för att kolla om dom är tomma.

            Kommentera


            • #7
              Det var faktisk så äckligt simpelt som att se till så både namnet på fomulären och i scriptet är skriva på samma sätt.. Nu fattades stor bokstav i början =/

              Kommentera


              • #8
                Ja, javascript är skiftlägeskänsligt.

                Flyttas alltså från ASP-forumet.

                mvh
                @aviddevguy

                Kommentera

                Working...
                X