.asp validate_form不知怎么错了



我的"联系我们"表单有点问题,每当我提交它时,我都会收到错误消息500。IE在第62行告诉我这是一个错误,并且没有指定validate_form。

我的代码是这样的:。

<form method="POST" action="/cgi-bin/emailer.asp" onsubmit="return validate_form(this); ">

我真的对.asp、.php、.js等一无所知,所以确实需要一些帮助。

谢谢-Niko

更新:

function validate_Form(form)
{
var x=document.forms["yhteys"]["email"].value;
var atpos=x.indexOf("@");
var dotpos=x.lastIndexOf(".");
if (atpos<1 || dotpos<atpos+2 || dotpos+2>=x.length)
  {
  alert("Sähköposti osoite ei ole oikein.");
  return false;
  }
}

这就是代码现在的样子,但它仍然不起作用。

<form name="yhteys" method="POST" action="/cgi-bin/emailer.asp" onsubmit="return validate_form(this);">
  <div style="float:left;">
    Aihe:<b>*</b><br>
        <select name="Aihe" required="required" id="Aihe">
          <option value="Yhteydenotto">Yhteydenotto</option>
          <option value="Arviokäynti">Arviokäynti</option>
          <option value="Esitetilaus">Esitetilaus</option>
          <option value="Esittelyajan varaus">Esittelyajan varaus</option>
          <option value="Palaute">Palaute</option>
          <option value="Muu viesti">Muu viesti</option>
        </select><br><br>
    Nimi:<b>*</b><br>
    <input type="text" required="required" name="nimi" size="35"><br><br>
    Osoite:<b>*</b><br>
    <input type="text" required="required" name="osoite" size="35"><br><br>
    Puhelin:<b>*</b><br>
    <input type="text" required="required" name="puh" size="35"><br><br>
    Sähköposti:<b>*</b><br>
    <input type="text" required="required" name="email" size="35"><br><br>
    Viesti:<b>*</b><br>
    <textarea rows="5" name="viesti" cols="45" required="required" id="Viesti"></textarea>
    <div style=" margin-right: 2px; margin-top: 2px;"><input type="submit" value="Lähetä" name="B1"></div><br />
    <p>Tähdellä merkityt kohdat ovat pakollisia.</p>
    </form>
  </div>

这里有完整的表格部分,只是为了让你能更具体地告诉我哪里出了问题。

validate_form(this)是对必须定义的JavaScript函数的调用。

它可能看起来像这样:

function validate_form(form){
    if (form.fieldname.value /* fulfills some condition */)
    {
        //this will abort the submit
        return false;
    }
    //will only get called when the if-statement does not return true
    //this allows the submit to procede
    return true;
};

或者,您可以声明这样的函数:

var validate_form = function(form){/*your code here*/};

您应该将该代码块放在内页面的<head>-部分

<script type="text/javascript" >
    // your code
</script>

编辑:
截至您的javascript:

如果您将其发送到您的函数,则不必抓取DOM来获取元素
-->要获得表单中的任何字段(通过this-关键字传递给函数),可以执行以下操作:

form.fieldname

这样你就可以访问你的电子邮件了:

var email = form.email.value;

你现在可以使用自定义验证来检查你的电子邮件,但我建议你使用免费的regex来检查它。你可以在这里的答案3中找到一个不错的

if (!isValid(email)){ //if the given email is not Valid by the function you call
alert("Sähköposti osoite ei ole oikein.");
return false;
}

最新更新