我的“联系我们”表格有点问题,每当我提交时,我都会收到错误消息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>
有完整的表格部分,所以你可以更具体地告诉我什么是错的。
答案 0 :(得分: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即可获取您的元素
- &GT;要获取表单中的任何字段(您传递给this
- 关键字),您可以执行以下操作:
form.fieldname
这允许您像这样访问您的电子邮件:
var email = form.email.value;
您现在可以通过自定义验证来检查您的电子邮件,但我建议您使用免费提供的正则表达式进行检查。你可以在答案3 here
中找到一个好的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;
}