Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > JavaScript: Общие вопросы > Как с помощью js проверить заполнины поля и селект


Автор: Mushu 11.7.2007, 13:40
Как с помощью js проверить заполнены поля и селект?
Код

    <table border="1" id = "tab1">
        <tr>
            <td>Тип</td>
            <td>Название</td>
            <td>Количество </td>
        
        </tr>
            <td> <select>
                                 <option value="0"></option>
                                 <option value="P">Рамашка</option>
                                 <option value="O">Сирень</option>
                                 </select>
                        </td>
            <td><input type="" id="name"/></td>
            <td><input type="" id="count"/></td>
    
    </table>

Автор: coyl 12.7.2007, 17:38
document.getElementById('id вашего селекта').value

И проверять например на равенство нулю (первому элементу для селекта)

Автор: Mymik 12.7.2007, 22:48
Mushu, это ж тема в продолжение твоей темы с клонирование строк таблицы... так что вот я написал вот такую вот сложную функцию, которая обходит все ячейки и проверяет их и записывает данные в объект, а потом еще обходит этот объект и создает таблицу с данными.
Код

function checkTable(tableID)
{
    table=document.getElementById(tableID);    
    if(!table)
    {
        alert("таблицы нет");
        return;
    }
    answers=new Array();
    for(y=0;y<table.rows.length-1;y++){
        cellAnswers=new Array();
        for(x=0;x<table.rows[y+1].cells.length;x++){
            selects=table.rows[y+1].cells[x].getElementsByTagName("SELECT");
            selectsAnswers=new Array();
            for(item=0;item<selects.length;item++){
                selectsAnswers[item]=selects[item].options[selects[item].selectedIndex].value;
            }
            inputs=table.rows[y+1].cells[x].getElementsByTagName("INPUT");
            inputsAnswers=new Array();
            for(item=0;item<inputs.length;item++){
                inputsAnswers[item]=inputs[item].value;
            }
            cellAnswers[x]=new Array(selectsAnswers,inputsAnswers);
            //alert(cellAnswers[x]);
        }
        answers[y]=new Array(cellAnswers);
    }
    table=document.createElement("TABLE");
    tbody=document.createElement("TBODY");
    for(y=0;y<answers.length;y++){
        row=document.createElement("TR");
        rows=answers[y];
        for(x=0;x<rows.length;x++){
            tds=rows[x];
            for(item=0;item<tds.length;item++){
                td=document.createElement("TD");
                td.style.padding="5px;"
                td.style.border="solid 1px black";
                itemValues=tds[item];
                for(itemValue=0;itemValue<itemValues.length;itemValue++){
                    td.appendChild(document.createTextNode(itemValue?"INPUTS:":"SELECT:"))
                    for(child=0;child<itemValues[itemValue].length;child++)
                        td.appendChild(document.createTextNode((child?", ":"")+itemValues[itemValue][child]));
                    td.appendChild(document.createElement("BR"));
                }
                row.appendChild(td);
            }
        }
        tbody.appendChild(row);
    }
    table.appendChild(tbody);
    document.getElementsByTagName("BODY")[0].appendChild(table);
}

Вот собственно рабочий пример
Код

<html>
<head>
<script type="text/javascript">
function checkTable(tableID)
{
    table=document.getElementById(tableID);    
    if(!table)
    {
        alert("таблицы нет");
        return;
    }
    answers=new Array();
    for(y=0;y<table.rows.length-1;y++){
        cellAnswers=new Array();
        for(x=0;x<table.rows[y+1].cells.length;x++){
            selects=table.rows[y+1].cells[x].getElementsByTagName("SELECT");
            selectsAnswers=new Array();
            for(item=0;item<selects.length;item++){
                selectsAnswers[item]=selects[item].options[selects[item].selectedIndex].value;
            }
            inputs=table.rows[y+1].cells[x].getElementsByTagName("INPUT");
            inputsAnswers=new Array();
            for(item=0;item<inputs.length;item++){
                inputsAnswers[item]=inputs[item].value;
            }
            cellAnswers[x]=new Array(selectsAnswers,inputsAnswers);
            //alert(cellAnswers[x]);
        }
        answers[y]=new Array(cellAnswers);
    }
    table=document.createElement("TABLE");
    tbody=document.createElement("TBODY");
    for(y=0;y<answers.length;y++){
        row=document.createElement("TR");
        rows=answers[y];
        for(x=0;x<rows.length;x++){
            tds=rows[x];
            for(item=0;item<tds.length;item++){
                td=document.createElement("TD");
                td.style.padding="5px;"
                td.style.border="solid 1px black";
                itemValues=tds[item];
                for(itemValue=0;itemValue<itemValues.length;itemValue++){
                    td.appendChild(document.createTextNode(itemValue?"INPUTS:":"SELECT:"))
                    for(child=0;child<itemValues[itemValue].length;child++)
                        td.appendChild(document.createTextNode((child?", ":"")+itemValues[itemValue][child]));
                    td.appendChild(document.createElement("BR"));
                }
                row.appendChild(td);
            }
        }
        tbody.appendChild(row);
    }
    table.appendChild(tbody);
    document.getElementsByTagName("BODY")[0].appendChild(table);
}
</script>
</head>
<body>
    <table border="1" id = "tab1">
        <tr>
            <td>Тип</td>
            <td>Название</td>
            <td>Количество </td>
        
        </tr>
    <tr>
            <td> <select>
                                 <option value="0"></option>
                                 <option value="P">Рамашка</option>
                                 <option value="O">Сирень</option>
                                 </select>
                        </td>
            <td><input type="" id="name"/></td>
            <td><input type="" id="count"/><input type="text" /></td>
    </tr>
    <tr>
            <td> <select>
                                 <option value="0"></option>
                                 <option value="P">Рамашка</option>
                                 <option value="O">Сирень</option>
                                 </select>
                        </td>
            <td><input type="" id="name"/></td>
            <td><input type="" id="count"/></td>
    </tr>
    </table>

<input type="button" onclick="checkTable('tab1')" />

</body>
</html>

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)