Form: email field

Ερωτήσεις και απαντήσεις σχετικές με την HTML, XHTML και την κατασκευή σελίδων για το Web.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
HellCaT
Δημοσιεύσεις: 28
Εγγραφή: 17 Δεκ 2002 11:23

Form: email field

Δημοσίευση από HellCaT » 22 Φεβ 2005 18:00

Xreiazomai na field poy na pairnei mono emails. Koita3a sto help toy Dreamweaver alla den exei kati antistoixo...

Eyxaristw prokatavolika,
HellCat

Άβαταρ μέλους
Nidas
Honorary Member
Δημοσιεύσεις: 2348
Εγγραφή: 03 Απρ 2003 13:09
Τοποθεσία: Germany/Wuppertal-Hellas/Preveza

Form: email field

Δημοσίευση από Nidas » 22 Φεβ 2005 18:11

de katalaba ti akribos enoeis ...
apla bazeis ena text field kai ekei
oi xristes simplironoun to email tous
(an einai auto pou katalaba)
diladi :

Κώδικας: Επιλογή όλων

<input type="text" name="textfield">
ektos kai an enoeis,
oti theleis IPOXREOTIKA na simplironoun email gia na stalthei to email se esena, ean pali enoeis auto tote...
bale auto , sto head tis selidas sou :

Κώδικας: Επιλογή όλων

<script type="text/javascript" language="JavaScript"> 
function formCheck&#40;formobj&#41;&#123; 
   // name of mandatory fields 
   var fieldRequired = Array&#40;"Email"&#41;; 
   // field description to appear in the dialog box 
   var fieldDescription = Array&#40;"Email"&#41;; 
   // dialog message 
   var alertMsg = "Παρακαλώ συμπληρώστε τα παρακάτω πεδία&#58;\n"; 
    
   var l_Msg = alertMsg.length; 
    
   for &#40;var i = 0; i < fieldRequired.length; i++&#41;&#123; 
      var obj = formobj.elements&#91;fieldRequired&#91;i&#93;&#93;; 
      if &#40;obj&#41;&#123; 
         if &#40;obj.type == null&#41;&#123; 
            var blnchecked = false; 
            for &#40;var j = 0; j < obj.length; j++&#41;&#123; 
               if &#40;obj&#91;j&#93;.checked&#41;&#123; 
                  blnchecked = true; 
               &#125; 
            &#125; 
            if &#40;!blnchecked&#41;&#123; 
               alertMsg += " - " + fieldDescription&#91;i&#93; + "\n"; 
            &#125; 
            continue; 
         &#125; 

         switch&#40;obj.type&#41;&#123; 
         case "select-one"&#58; 
            if &#40;obj.selectedIndex == -1 || obj.options&#91;obj.selectedIndex&#93;.text == ""&#41;&#123; 
               alertMsg += " - " + fieldDescription&#91;i&#93; + "\n"; 
            &#125; 
            break; 
         case "select-multiple"&#58; 
            if &#40;obj.selectedIndex == -1&#41;&#123; 
               alertMsg += " - " + fieldDescription&#91;i&#93; + "\n"; 
            &#125; 
            break; 
         case "text"&#58; 
         case "textarea"&#58; 
            if &#40;obj.value == "" || obj.value == null&#41;&#123; 
               alertMsg += " - " + fieldDescription&#91;i&#93; + "\n"; 
            &#125; 
            break; 
         default&#58; 
         &#125; 
      &#125; 
   &#125; 

   if &#40;alertMsg.length == l_Msg&#41;&#123; 
      return true; 
   &#125;else&#123; 
      alert&#40;alertMsg&#41;; 
      return false; 
   &#125; 
&#125; 
// --> 
</script>
kai auto sti forma sou :

Κώδικας: Επιλογή όλων

<input type="text" name="Email">
gia perissoteres plirofories pano se auto :
edo --> http://www.freestuff.gr/forums/viewtopi ... t=mailform

Άβαταρ μέλους
Martha_a
Δημοσιεύσεις: 78
Εγγραφή: 16 Οκτ 2004 00:17

Form: email field

Δημοσίευση από Martha_a » 22 Φεβ 2005 21:38

Επίσης, μπορείς στο field που δημιουργείς στο dreamweaver, να του ορίσεις email validation δηλαδή να μη μπορεί ο χρήστης να κάνει submit της φόρμας εάν σε αυτό το πεδίο δεν υπάρχει δνση email.
Αν αυτό θες, θα σου πως. :wink:

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

Form: email field

Δημοσίευση από skeftomilos » 23 Φεβ 2005 03:43

Ωραίο το script που έδωσες Nidas, αλλά ελέγχει μόνο εάν το πεδίο έχει συμπληρωθεί και όχι αν περιέχει ένα έγκυρο email.

Πόσο αυστηρό θέλεις να κάνεις τον έλεγχο HellCaT? Σου αρκεί να έχεις μία τιμή της μορφής xxxx@xxxx.xxxx ή θέλεις περισσότερο έλεγχο? Η regular expreσsion που χρειάζεται για αυτή την απλή περίπτωση είναι η:

Κώδικας: Επιλογή όλων

/.*@.*\..*/
Αυτή όμως επιτρέπει "διευθύνσεις" της μορφής a+~@a+~.a+~ ! Μία καλύτερη που δεν επιτρέπει σύμβολα παρά μόνο γράμματα, αριθμούς και το _ είναι η παρακάτω, από το βιβλίο Instant JavaScript:

Κώδικας: Επιλογή όλων

/^\w+&#40;&#91;\.\-&#93;\w+&#41;*\@\w+&#40;&#91;\.\-&#93;\w+&#41;*\.\w+$/
Λόγω των πολλών δυνατών μορφών των email διευθύνσεων δεν έχει εφευρεθεί ακόμα η τέλεια expression. Πρόσεχε μάλιστα μην το παρακάνεις με τον έλεγχο και αποκλείσεις έγκυρες διευθύνσεις! Για παράδειγμα εγώ δεν κατάφερα να κάνω sign-in στο www.e-pcmag.gr με το κύριο email μου γιατί η διεύθυνση ******@fastmail.fm δε γινόταν δεκτή. Ήθελαν κατάληξη .com.

Κατά δεύτερον πότε θέλεις να γίνεται το validation? Όταν ο χρήστης μετακινηθεί σε άλλο πεδίο (βάρβαρο) ή όταν προσπαθήσει να κάνει submit (λογικό)? Παρακάτω είναι μία απλή εφαρμογή της δεύτερης περίπτωσης:

Κώδικας: Επιλογή όλων

<html>
  <head>
    <script type="text/javascript">
      function form_validate&#40;f&#41; &#123;
        var re = /^\w+&#40;&#91;\.\-&#93;\w+&#41;*\@\w+&#40;&#91;\.\-&#93;\w+&#41;*\.\w+$/
        if &#40;!re.test&#40;f.email.value&#41;&#41; &#123;
          alert&#40;"Παρακαλώ συμπληρώστε ένα έγκυρο email."&#41;
          return false
        &#125;
      &#125;
    </script>
  </head>
  <body>
    <form onSubmit="return form_validate&#40;this&#41;">
      <input type="text" name="email">
      <input type="submit" value="Καταχώρηση">
    </form>
  </body>
</html>
Υ.Γ. Ο χρήστης μπορεί να παρακάμψει το validation απενεργοποιώντας την JavaScript. Γι'αυτό πρέπει παρόμοιος κώδικας να εκτελεστεί και στον server, ώστε να αποκλειστεί η περίπτωση καταχώρησης στη βάση μίας εντελώς άκυρης email διεύθυνσης. Τελικά όμως ο μόνος 100% σίγουρος τρόπος να μάθουμε αν μία διεύθυνση είναι έγκυρη είναι να στείλουμε ένα email και να δούμε αν έφτασε!
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Απάντηση

Επιστροφή στο “HTML και XHTML”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 0 επισκέπτες