пожалуйста, помогите в решении этой проблемы с простым JavaScript - PullRequest
0 голосов
/ 05 апреля 2011
while( $data is comming from db)
{
  <{form} name=formName.$uniqueValue action= onsubmit=return validate(this){>}

    <input type=text name=sort_order[] value= value_from_db />
    <input type='submit' />
  <{/form}>

}

Ниже приведена функция проверки Javascript.

{<}script language="javascript1.2"{>}
{function} validate(obj)
{

    var x = obj.elements['sort_order'].length;




    var check = false;

    for(var i =0; i <x; i++)
    {
        var array = Array();
        array = obj.elements['sort_order'];
        var num=  array[i];

        if(!isInteger(num.value))
        {
            check = true;
        }


    }

    if(check)
    {
        alert('Please enter a valid sort number');
        return false;
    }

    return true;


}

function isInteger(val)
{

    if(val==null)
    {

        return false;
    }
    if (val.length==0)
    {

        return false;
    }
    for (var i = 0; i < val.length; i++) 
    {
        var ch = val.charAt(i)
        if (i == 0 && ch == "-")
        {
            return false;
        }
        if (ch < "0" || ch > "9")
        {
            return false;
        }
    }
    return true;
}
</script>

Проблема в том, что когда у меня есть форма значений с текстовым полем sort_order [], имеющим более 1 значения, проверка работает нормально, но не получается, когда ятолько одно значение в sort_order [], пожалуйста, помогите

Ответы [ 2 ]

1 голос
/ 03 мая 2011

Проблема заключалась в том, что в качестве имени поля ввода задан массив, т. Е. Если sort_order [] содержит только один элемент, то в javascript он не рассматривается как объект Array. Вот почему значение, которое я получал, было нулевым, я поставил там проверку, если значение равно нулю, тогда рассмотрим его как отдельный элемент, и тогда оно работало нормально. -

0 голосов
/ 05 апреля 2011

оставьте проверочное значение по умолчанию true и сделайте его ложным, если одна проверка также не удалась, как это

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...