2013-09-02 5 views
0

Я создал форму, которая проверяется с использованием Parsley.js, а затем отправляется с использованием php. Форма подтверждения блестяще, но не подчиняясь страницы PHP: form_submission.phpФорма петрушки не отправляется

Демо-формы можно найти здесь http://tanujd.com/demop/contact-form.html (я предварительно poppulated форму с фиктивным содержанием, чтобы сделать его проще тестировать)

HTML, используемый:

<form action="form_submission.php" id="contactform" method="post" data-validate="parsley"> 
<table width="200" border="0" cellspacing="0" cellpadding="0"> 
    <tr class="name"> 
    <td> 
     <label for="firstname">First Name*:</label> 
     <input type="text" id="firstname" name="firstname" data-trigger="change" required data-required="true" value="dummyfname" /> 
    </td> 
    <td style="margin-left:10px;"> 
     <label for="lastname">Last Name*:</label> 
     <input type="text" id="lastname" name="lastname" data-trigger="change" required data-required="true" value="dummylname" /> 
    </td> 
    </tr> 
    <tr> 
    <td> 
     <label for="mobile">Mobile*</label> 
     <input type="text" id="mobile" name="mobile" data-type="phone" data-trigger="change" required data-required="true" value="+1123456789" /> 
    </td> 
    </tr> 
    <tr> 
    <td> 
     <label for="email">Email* :</label> 
     <input type="text" id="email" name="email" data-type="email" data-trigger="change" required data-required="true" value="[email protected]" /> 
    </td> 
    </tr> 
    <tr> 
    <td> 
     <label for="subject">Whats this about*:</label> 
     <select id="subject" name="subject" required="required" data-required="true"> 
      <option value="1" selected="selected">Yey</option> 
      <option value="2">Yey1</option> 
      <option value="3">Yey2</option> 
     </select> 
    </td> 
    </tr> 
    <tr> 
    <tr> 
    <td> 
     <label for="category">Subject:</label> 
     <input type="text" id="category" name="category" value="Dummy Subject" /> 
    </td> 
    </tr> 
    <tr> 
    <td> 
     <label for="message">Tell us about it*</label> 
     <textarea id="message" name="message" data-trigger="change" required data-required="true">Dummy Text</textarea> 
    </td> 
    </tr> 
    <tr> 
    <td> 
     <input type="hidden" id="formid" name="formid" value="contactusform" /> 
     <input class="button" name="submit" type="button" value="submit" onClick="javascript:$('#contactform').parsley('validate');" /> 
    </td> 
    </tr> 
</table> 
</form> 

РНР код в страницы: form_submission.php (файл онлайн, очевидно, имеет свой правильный адрес электронной почты)

<?php 
$formid = $_POST['formid']; 

$email_to = "[email protected]"; 

$first_name = $_POST['firstname']; // required 
$last_name = $_POST['lastname']; // required 
$mobilenum = $_POST['mobile']; 
$email_from = $_POST['email']; // required 
$email_subject = "Website Contact Form Submission: ". $_POST['subject']; 
$subject = $_POST['subject']; 
//$categoryselect = $_POST('category').value(); 
$message = $_POST['message']; // required 

echo($email_from); 

$email_message = "Submission details below.\n\n"; 
$email_message .= "First Name: ".clean_string($first_name)."\n"; 
$email_message .= "Last Name: ".clean_string($last_name)."\n"; 
$email_message .= "Mobile: ".clean_string($telephone)."\n"; 
$email_message .= "Email: ".clean_string($email_from)."\n"; 
$email_message .= "Whats this about: ".clean_string($subject)."\n"; 
$email_message .= "Category: ".clean_string($category)."\n"; 
$email_message .= "Comments: ".clean_string($comments)."\n"; 
$email_message = wordwrap($email_message, 70, "\r\n"); 

$headers = 'From: '.$email_from."\r\n". 
      'Reply-To: '.$email_from."\r\n" . 
      'X-Mailer: PHP/' . phpversion(); 

mail($email_to, $email_subject, $email_message,$headers) or die("Error!"); 

echo "Thank you for contacting us. We will be in touch with you very soon. \r\n"; 
?> 

Страница проверяется корректно, но она просто не переходит на страницу PHP и не отправляет форму. Если я загружаю php-страницу как есть, он отправляет мне пустое сообщение (так что работает разработчик php form)

Любая идея, как я могу это исправить?

ответ

2

Изменение типа "кнопка" для типа = "отправить"

Написать

<input class="button" name="submit" type="submit" value="submit" onClick="javascript:$('#contactform').parsley('validate');" /> 

вместо

<input class="button" name="submit" type="button" value="submit" onClick="javascript:$('#contactform').parsley('validate');" /> 
+0

Brilliant! Такая глупая ошибка. Спасибо, что заметили это. – Tanuj

+0

Спасибо, можно только ответить – Salim

+0

Да, к сожалению, вы так быстро ответили, что его можно подобрать под минимальным временем ожидания до ответа. :). Как только это будет сделано, я приму это. – Tanuj

Смежные вопросы