我的"联系我们"表单有点问题,每当我提交它时,我都会收到错误消息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>
这里有完整的表格部分,只是为了让你能更具体地告诉我哪里出了问题。
它可能看起来像这样:
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;
}