2013-09-03 3 views
0

У меня есть небольшие проблемы с моей формой «связаться с нами», когда я отправляю его, я получаю сообщение об ошибке 500. IE говорит мне, что это ошибка в строке 62, и что validate_form не указан..asp validate_form неправильно как-то?

Мой код выглядит следующим образом :.

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

Я действительно ничего о .asp, .php, .js и т.д., поэтому некоторые помощь будет действительно необходима не знаю.

Благодаря -Niko

Update:

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

пожалуйста включают какое-то сообщение об ошибке, или ожидаемые и фактические результаты – Vogel612

ответ

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> 

EDIT:
На ваш javascript:

Если вы отправляете это на свою функцию, вам не нужно сканировать DOM для получения ваших элементов.
->, чтобы получить любое поле в форме (которую вы передаете для работы с 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; 
} 
+0

Спасибо, теперь я знаю, что он нужен JS тоже, к сожалению, это не помогло. –

+1

@NikoPiiroinen помните, что можно отключить Javascript и, таким образом, переопределить всю вашу проверку – Vogel612