Re: iterate javascript verification

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



You do realize that you shouldn't rely on Javascript to validate values returned in a form? Also, if you use HTML5, you can use the required attribute in the <input> tag and the browser won't let a user submit a form with a required field not filled. Of course, you should still validate within your PHP script, in case a user is using a browser that doesn't understand HTML5.

At 08:07 PM 5/24/2013, Tim Dunphy wrote:
Hello list,

 I have a php script that creates a variable number of forms based on a
$_POST variable from a preceding page. It then takes the data input into
the form and neatly packages the result into an email sent to an email
address (eventually to be a ticketing system).


Almost everything on the page works great. The only thing I can't seem to
get working is how to verify that the fields in the form are not left empty
using javascript. The syntax I'm using seems like it should work, however
when I leave one or more of the fields empty, the email gets sent anyway
with the missing data.

Here's the app I was hoping someone might be able to suggest a successful
approach:

<html>
<head>
<title>LDAP Form</title>
<body>
  <?php

   if (isset($_POST['submit'])) {
    $requestor_email = $_POST['requestor_email'];
    $num_forms  = $_POST['num_forms'];
    }

    echo "<center>You will be creating $num_forms accounts
today.</center><br />";
    for($counter = 1;$counter<=$num_forms;$counter++) {
        echo '<center><form name="ldap_accounts" method="post"
action="sendemail.php" onsubmit="return validateForm()">';
        echo '<br /><br />';
        echo "Enter user: $counter<br />";
        echo "<label for=\"first_name_.$counter.\">First Name:</label><br
/>";
        echo "<input type=\"text\" id=\"first_name_.$counter.\"
name=\"first_name_.$counter.\" /><br /><br />";
        echo "<label for=\"last_name_.$counter.\">Last Name:</label><br />";
        echo "<input type=\"text\" id=\"last_name_.$counter.\"
name=\"last_name_.$counter.\" /><br /><br />";
        echo "<label for=\"department_.$counter.\">Department:</label><br
/>";
        echo "<input type=\"text\" id=\"department_.$counter.\"
name=\"department_.$counter.\" /><br /><br />";
        echo "<label for=\"title_.$counter.\">Title:</label><br />";
        echo "<input type=\"text\" id=\"title_.$counter.\"
name=\"title_.$counter.\" /><br /><br />";
        echo "<label for=\"email_.$counter.\">Email:</label><br />";
        echo "<input type=\"text\" id=\"email_.$counter.\"
name=\"email_.$counter.\" /><br /><br />";
        echo "<label for=\"phone_$counter.\">Phone:</label><br />";
        echo "<input type=\"text\" id=\"phone_.$counter.\"
name=\"phone_.$counter.\" /><br /><br />";
  ?>
   <script>
    function validateForm()
     {
       var a=document.forms["ldap_accounts"]["first_name_"].value;
       if (a==null || a=="")
       {
        alert("User $counter first name must be filled out.");
        return false;
       }
        var b=document.forms["ldap_accounts"]["last_name_"].value;
        if (b==null || b=="")
        {
        alert("User $counter last name must be filled out.");
        return false;
        }
        var c=document.forms["ldap_accounts"]["department_"].value;
        if (c==null || c=="")
        {
        alert("User $counter department must be filled out.");
        return false;
        }
        var d=document.forms["ldap_accounts"]["title_"].value;
        if (d==null || d=="")
        {
        alert("User $counter title must be filled out.");
        return false;
        }
        var d=document.forms["ldap_accounts"]["email_"].value;
        if (d==null || d=="")
        {
        alert("User $counter address must be filled out.");
        return false;
        }
        var d=document.forms["ldap_accounts"]["phone_"].value;
        if (d==null || d=="")
        {
        alert("User $counter phone name must be filled out.");
        return false;
        }
      }
     </script>
 <?php
  }

  echo "<input type=\"hidden\" id=\"num_forms\" name=\"num_forms\"
value=\"$num_forms\" /><br /><br />";
  echo "<input type=\"hidden\" id=\"requestor_email\"
name=\"requestor_email\" value=\"$requestor_email\" />";
  echo "<input type=\"submit\" name=\"submit\" value=\"Create Ticket\" />";
  echo "</form></center>";

   ?>
</body>
</html>

Thanks,
Tim

--
GPG me!!

gpg --keyserver pool.sks-keyservers.net --recv-keys F186197B


--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php





[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux