behalten form Werte onclick-nach-javascript-Validierung schlägt fehl

Dies ist Teil einer Aufgabe. Alles, was funktionieren soll, funktioniert bereits, aber es gibt etwas, dass mich stört. Der einzige Zweck, den code so weit ist, testen Sie unsere Fähigkeit zur Validierung von Daten. Trotzdem, gerade jetzt in der validate () - Funktion angeschlossen ist, um einen submit-button:

<input type="submit" value="Find Love" onclick="validate()">

Wenn jeder die Validierung fehl, werden alle Textfelder, drop-downs, etc.. gelöscht werden, aber ich will Sie behalten Ihre Werte und konzentrieren Sie sich nur auf die ersten falschen Wert (unter Beibehaltung Ihrer Werte wichtiger ist mir an dieser Stelle). Die eigentliche Macht, erfordern einige änderungen der onclick-Funktion oder eine andere Funktion alle zusammen? Bitte helfen Sie. Wenn Sie brauchen, um zu sehen, den javascript kann ich post, dass, wie gut.

function validate()
{
var blnValid = true;

if(isBlank("txtFName"))
{
    blnValid = false;
    alert("First name cannot be blank!")
    document.getElementById("txtFName").focus();
}

if(blnValid)
{   
    if(isBlank("txtLName"))
    {
        blnValid = false;
        alert("Last name cannot be blank!")
        document.getElementById("txtLName").focus();
    }
}
if(blnValid)
{
    if(isBlank("txtAge"))
    {
        blnValid = false;
        alert("Age cannot be blank!")
        document.getElementById("txtAge").focus();
    }
}
if(blnValid)
{
    var strInput = document.getElementById("txtAge").value;
    if(!isInt(strInput))
    {
        blnValid = false;
        alert("You must enter a valid number in the age field.")
        document.getElementById("txtAge").select();
    }
}
if(blnValid)
{
    if(document.getElementById("selUserGender").selectedIndex <= 0)
    {
        alert("Please select your gender");
        blnValid = false;
    }
}
if(blnValid)
{
    if(document.getElementById("selFindGender").selectedIndex <= 0)
    {
        alert("Please select your gender");
        blnValid = false;
    }
}
if(blnValid)
{
    blnChecked = false;
    arRadio = document.forms[0].rdbAgeRange;
    for (var i = 0; i < arRadio.length; i++)
    {
        if(arRadio[i].checked)
        {
            blnChecked = true;
            break;
        }
    }
    if (!blnChecked)
    {
        alert("You must select an age group.");
        blnValid = false;
    }
}
if(blnValid)
{
    if(!document.getElementById("chkSkeeball").checked
        && !document.getElementById("chkAir").checked
        && !document.getElementById("chkCliff").checked
        && !document.getElementById("chkHamster").checked)
    {
        blnValid = false;
        alert("You must select a hobby.")
    }   
}

return blnValid;
}


function isInt(strValue)
{
var validNums = "0123456789";
var blnIsNumber = true;
var tempChar;

for (var i = 0; i < validNums.length; i++)
{
    tempChar = strValue.substr(i, 1);
    if (validNums.indexOf(tempChar) == -1)
    {
        return false;

    }
}
return true;
}

function isBlank(elementID)
{
if(document.getElementById(elementID).value.length == 0)
{
    return true;
}

return false;
}
bitte posten js.
Bitte nicht. Wahrscheinlich gibt es eine Zeile gibt, löscht die Eingabe.

InformationsquelleAutor webhound | 2011-07-14

Schreibe einen Kommentar