表单窗口警报,不起作用

时间:2013-11-29 11:49:27

标签: javascript forms

我在表单中遇到了验证问题。验证确实适用于每个资源管理器,但如何在我的邮箱中接收空表单。我不明白..感谢任何帮助!

<script>
function kontrolaDat(myForm){
    if (window.RegExp) 
    { 
        znaky=new RegExp("^[^.]+(\.[^.]+)*@([^.]+[.])+[a-z]{2,3}$"); 
        if (!znaky.test(myForm.email.value)) 
        { 
            window.alert("Zadaný e-mail nie je platný!");  
            return false; 
        }
    }
    if(myForm.jmeno.value == "") {
    alert("Zadajte prosím svoje meno");
    return false;
    }
    if(myForm.telefon.value == "") {
    alert("Zadajte prosím váš ​​telefón");
    return false;
    }
    if(myForm.psc.value == "") {
    alert("Zadajte prosím vaše PSČ");
    return false;
    }
    else return true;
}
</script>

<div class="span4 text">
 <h4>Najlepšiu hypotéku aj vám!</h4>
 <p>Žiadne poplatky - Žiadne záväzky - Skvelý servis<br />Vyplňte formulár a my vás budeme kontaktovať.</p>
 <form method="post" action="hypoteka-dakujeme.php" onsubmit="return kontrolaDat(this);">
  <input type="text" name="email" placeholder="Emailová adresa" />
  <input type="text" name="jmeno" placeholder="Vaše meno" />
  <input type="text" name="telefon" placeholder="Kontaktný telefón" />
  <input type="text" name="psc" placeholder="PSČ" />
  <input type="submit" name="submit" value="Chcem najlepšiu hypotéku!" class="btn tlacitko" />
 </form>
</div> <!-- End text -->

2 个答案:

答案 0 :(得分:0)

如果您禁用JavaScript,则不会进行验证。在发送电子邮件之前,在服务器端验证表单 - 在hypoteka-dakujeme.php中。您永远不应该使用客户端验证 - 它可以很容易地被绕过。

答案 1 :(得分:0)

请重新解释您的问题,您在标题中说明表单中的alerts不起作用,但是您说通过JavaScript进行的验证工作正常,问题在于您获得的问题没有数据的电子邮件。

因此,如果JavaScript按预期工作,请关注接收和处理所发送数据的PHP

首先,我会在文件hypoteka-dakujeme.php

的顶部添加以下代码
echo '<pre>';
print_r($_POST);
echo '</pre>';
die();

...然后,您必须调试代码以在屏幕上打印(例如)您希望在电子邮件中收到的信息。

如果您获得了预期的信息,请发送电子邮件。如果您仍然收到空电子邮件...请检查您正在使用的mail()功能。

如果需要更多帮助,请重新提问包含相关信息的问题。

祝你好运。