0

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

我的代码是这样的:。

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

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

谢谢-尼科

更新:

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>

有整个表格部分,这样你就可以更具体地告诉我出了什么问题。

4

1 回答 1

1

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-Keyword 传递给函数),您可以执行以下操作:

form.fieldname

这使您可以像这样访问您的电子邮件:

var email = form.email.value;

您现在可以使用自定义验证检查您的电子邮件,但我建议使用免费提供的正则表达式来检查它。您可以在此处的第 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;
}
于 2013-09-03T11:49:34.083 回答