I have a form not working when clicking send, nor giving me the neccessary warnings on not filling in fields. Javascript <script language="javascript" type="text/javascript"> function totalCheck(){ var docArr = new Array(); var allrt = ""; docArr[0] = "naam"; docArr[1] = "bedrijf"; docArr[2] = "contact"; docArr[3] = "secror"; docArr[4] = "email"; for(i=0; i<docArr.length; i++){ if(document.forms[0].elements[docArr[i]].value == ""){ if(allrt == ""){ allrt += '"'+String(docArr[i])+'"'; }else if(i == docArr.length-1){ allrt += ' en "'+String(docArr[i])+'"'; }else{ allrt += ', "'+String(docArr[i])+'"'; } } } if(allrt != ""){ alert("Gelieve de volgende velden in te vullen:\n"+allrt+""); return false; }else{ document.getElementById('form').submit(); } } </script> PHP: Spam control + send script <?php // Function to check for spam function checkforspam() { $problem = 'N'; foreach ($_POST as $key => $value) { if (stristr($value,'Content-Type:') || stristr($value,'bcc:')) { $problem = 'Y'; } } if ($problem == 'Y') { return 'Y'; } else { return 'N'; } } // Handle POST method. if ($_POST) { if (checkforspam() == 'N') { if(!empty($_POST['naam']) && !empty($_POST['bedrijf']) && !empty($_POST['contact']) && !empty($_POST['sector']) && preg_match('/^([a-z0-9!#$%&*+-=?^_`{|}~])+(\.[a-z0-9!#$%&*+-=?^_`{|}~]+)*@([-a-z0-9]+\.)+([a-z]{2}|com|net|edu|org|gov|mil|int|biz|pro|info|arpa|aero|coop|name|museum)$/ix', $_POST['email'])): $naam = $_POST['naam']; $bedrijf = $_POST['bedrijf']; $contact = $_POST['contact']; $sector = $_POST['sector']; $website = $_POST['website']; $email = $_POST['email']; $ontwerp = $_POST['ontwerp']; $xhtml = $_POST['xhtml']; $CMS = $_POST['CMS']; $Copywriting = $_POST['Copywriting']; $Hosting = $_POST['Hosting']; $SEO = $_POST['SEO']; $Mailing = $_POST['Mailing']; $Opleiding = $_POST['Opleiding']; $Onderhoud = $_POST['Onderhoud']; $pakket = $_POST['pakket']; // Compose simple text message: $message = " $naam werkt voor $bedrijf ($sector) te contacteren via $contact of $email en beschikt al dan niet over een $website. De interesse gaat uit naar: Photoshop ontwerp: $ontwerp Valid XHTML & CSS Template: $xhtml Content Management System: $CMS Copywriting: $Copywriting Hosting: $Hosting Zoekmachineoptimalisatie: $SEO Online Mailings: $Mailing Opleiding: $Opleiding Onderhoud: $Onderhoud TOTAALPAKKET: $pakket "; // Send message mail("kimvanhuynegem@hotmail.com", "Offerte", $message); // Thank the generous user echo "p>Alvast bedankt. Wij contacteren u zo snel mogelijk.</p> \n"; else: // dit toont een error message indien de gebruiker een foutief email adres heeft ingevuld, of enkele velden heeft leeg gelaten echo "<p>U vulde een verkeerd email adres in, of u liet enkele velden leeg. Gelieve deze in te vullen. (Klik op de Terug knop van uw browser)</p>"; endif; } } else { ?> PHP: Form <form action="<?= $PHP_SELF ?>" method="post" id="form" onsubmit="totalCheck()"> <fieldset> <legend>Uw gegevens</legend> <p><label for="name">*Naam:</label> <input type="text" name="naam" /></p> <p><label for="e-mail">*Bedrijf:</label> <input type="text" name="bedrijf" /><br /></p> <p><label for="sector">*Sector:</label> <input type="text" name="sector" /><br /></p> <p><label for="contact">*Tel/GSM:</label> <input type="text" name="contact" /><br /></p> <p><label for="e-mail">*E-mail:</label> <input type="text" name="email" /><br /></p> <p><label for="website">Website:</label> <input type="text" name="website" /><br /></p> <p class="datum">JA, ik ga akkoord te worden gecontacteerd door Ascenli om de verdere details van de offerte te bespreken.</p> <p class="datum">Velden met een * zijn verplicht in te vullen.</p> </fieldset> </div> <div class="deelrechts"> <fieldset> <legend>Ik wens meer informatie/tarieven over:</legend> <p><label for="ontwerp">Photoshop ontwerp</label> <input type="checkbox" name="ontwerp" /></p> <p><label for="xhtml">XHTML Template</label> <input type="checkbox" name="xhtml" /></p> <p><label for="cms">CMS</label> <input type="checkbox" name="CMS" /></p> <p><label for="Copywriting">Copywriting</label> <input type="checkbox" name="Copywriting" /></p> <p><label for="Hosting">Hosting</label> <input type="checkbox" name="Hosting" /></p> <p><label for="SEO">SEO</label> <input type="checkbox" name="SEO" /></p> <p><label for="Mailing">Mailing</label> <input type="checkbox" name="Mailing" /></p> <p><label for="Opleiding">Opleiding</label> <input type="checkbox" name="Opleiding" /></p> <p><label for="Onderhoud">Onderhoud</label> <input type="checkbox" name="Onderhoud" /></p> <p><label class="label2" for="pakket">Ik wens een <strong>voordelig totaalpakket</strong><br />voor een nieuwe website</label><br /><input type="checkbox" name="pakket" /></p> </fieldset> <br /> <a href="#" onClick="totalCheck()" class="link">Verzenden</a> </form> <?php } ?> PHP: Live: http://www.kimwebsites.com/ascenli/diensten/offerte/ Anyone see anything I'm not seeing?
Thanks, but there seems to be more to it. I get an error on this not being empty or no object: if(document.forms[0].elements[docArr].value == ""){
Yes, because it is looking for the element "secror" which is a "non object" because it doesn't exist, it will be fine when you change it to "sector"