Re: [PHP] iterate javascript verification
[email protected] (Ken Robinson)
| Newsgroups | php.general |
|---|---|
| Message-ID | <[email protected]> |
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