Re: iterate javascript verification

From: Date: Sat, 25 May 2013 01:35:57 +0000
Subject: Re: iterate javascript verification
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-321200@lists.php.net to get a copy of this message
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


« previous php.general (#321200) next »