2014-01-15 3 views
0

Я довольно новичок в JavaScript, и у меня возникла проблема. У меня есть этот вид:Форма для проверки с javascript

<form name="RegForm" method="get" action="formularTarget.html" 
onsubmit="return validateForm()"> 
</form> 

использует текстовые материалы, которые я хочу, чтобы проверить правильность с помощью следующего сценария:

function validateForm() { 
    var errorMsg = ""; 
    var errorFlag = false; 
    var errorElem = null; 

    if (checkBlankString(document.RegForm.elemVorname.value)) { 
      errorElem = "elemVorname"; 
      errorMsg += "Pflichtfeld: Bitte Vornamen eingeben.\n"; 
      errorFlag = true; 
    } 

    if (checkBlankString(document.RegForm.elemNachname.value)) { 
      errorElem = "elemNachname"; 
      errorMsg+="Pflichtfeld: Bitte Nachnamen eingeben.\n"; 
      errorFlag=true; 
    } 

    if (isNaN(document.RegForm.elemAlter.value)) { 
      errorElem = "elemAlter"; 
      errorMsg+="Angegebenes Alter ist keine Zahl. " + 
         "Bitte als Alter eine Zahl " + 
         "zwischen 12 und 99 eingeben.\n"; 
      errorFlag=true; 
    } 

    else { 
      if (document.RegForm.elemAlter.value < 12 || aForm.elemAlter.value > 99) { 
        errorElem = "elemAlter"; 
        errorMsg+="Alter ausserhalb des Wertebereichs. " + 
           "Bitte ein Alter zwischen 12 und 99 eingeben.\n"; 
        errorFlag=true; 
      } 
    } 

    if (errorFlag==true){ 
      document.RegForm.elements[errorElem].focus(); 
      document.RegForm.elements[errorElem].select(); 
      alert(errorMsg); 
      return false; 
    } else { 
      alert("Ihre Eingaben sind in Ordnung! \n" + 
      "Drücken Sie OK, um sich zu registrieren."); 
} 
} 

Однако, это не работает, и просто принимает любой входной сигнал. Где я неправ? Спасибо заранее!

ответ

0

Добавить кнопку в форму, и удалить onsubmit, как это:

<form name="RegForm" method="get" action="formularTarget.html"> 
    <input type="button" value="Submit" onclick="validateForm(this.form);" /> 
</form> 

Затем добавить параметр к вашей функции проверки и запуска передачи запроса в конце функции :

function validateForm(form) { 
    var errorMsg = ""; 
    var errorFlag = false; 
    var errorElem = null; 

    if (checkBlankString(document.RegForm.elemVorname.value)) { 
      errorElem = "elemVorname"; 
      errorMsg += "Pflichtfeld: Bitte Vornamen eingeben.\n"; 
      errorFlag = true; 
    } 

    if (checkBlankString(document.RegForm.elemNachname.value)) { 
      errorElem = "elemNachname"; 
      errorMsg+="Pflichtfeld: Bitte Nachnamen eingeben.\n"; 
      errorFlag=true; 
    } 

    if (isNaN(document.RegForm.elemAlter.value)) { 
      errorElem = "elemAlter"; 
      errorMsg+="Angegebenes Alter ist keine Zahl. " + 
         "Bitte als Alter eine Zahl " + 
         "zwischen 12 und 99 eingeben.\n"; 
      errorFlag=true; 
    } 

    else { 
      if (document.RegForm.elemAlter.value < 12 || aForm.elemAlter.value > 99) { 
        errorElem = "elemAlter"; 
        errorMsg+="Alter ausserhalb des Wertebereichs. " + 
           "Bitte ein Alter zwischen 12 und 99 eingeben.\n"; 
        errorFlag=true; 
      } 
    } 

    if (errorFlag==true){ 
      document.RegForm.elements[errorElem].focus(); 
      document.RegForm.elements[errorElem].select(); 
      alert(errorMsg); 
      return false; 
    } else { 
      alert("Ihre Eingaben sind in Ordnung! \n" + 
      "Drücken Sie OK, um sich zu registrieren."); 
    } 
    form.submit(); 
} 
+1

Спасибо большое! Это сделал трюк! – user3194972

0
function myValidate() { 
var x = document.forms["myform"]["name"].value; 
var y = document.forms["myform"]["country"].value; 
var z = document.forms["myform"]["occupation"].value; 
var a = document.forms["myform"]["status"].value; 
var b = document.getElementById("nameErr");  
var c = document.getElementById("countryErr"); 
var d = document.getElementById("occupationErr"); 
var e = document.getElementById("statusErr"); 

if (!x || x.length==0) { 
    b.innerHTML = "Name Must Be Filled Out"; 
    return false; 
} else { 
    b.innerHTML = ""; 
} 

if (!y || y.length==0) { 
    c.innerHTML = "Country Must Be Filled Out"; 
    return false; 
} else { 
    c.innerHTML = ""; 
} 

if (!z || z.length==0) { 
    d.innerHTML = "Occupation Must Be Filled Out"; 
    return false; 
} else { 
    d.innerHTML = ""; 
} 

if (!a || a.length==0) { 
    e.innerHTML = "Status Must Be Filled Out"; 
    return false; 
} else { 
    e.innerHTML = ""; 
} 
return true; 

}

это JavaScript

   

Имя:



Страна:



Род занятий:



Статус:



, что HTML

Смежные вопросы