2010-05-02 3 views
0

Я создал динамическую таблицу, строки которой добавляются щелчком кнопки «Добавить», я хочу, чтобы пользователь не мог отправить страницу, если во все строки таблицы не было введено никакого значения. как я достичь этого Код являетсяjavascript problem

<html> 
<head> 
<script type="text/javascript"> 
function addRowToTable() 
{ 
    var tbl = document.getElementById('tblSample'); 
    var lastRow = tbl.rows.length; 
    var iteration = lastRow+1; 
    var row = tbl.insertRow(lastRow); 
    var cellLeft = row.insertCell(0); 
    var textNode = document.createTextNode(iteration); 
    cellLeft.appendChild(textNode); 
    var cellRight = row.insertCell(1); 
    var el = document.createElement('input'); 
    el.type = 'text'; 
    el.name = 'txtRow' + iteration; 
    el.id = 'txtRow' + iteration; 
    el.size = 40; 
    cellRight.appendChild(el); 
} 
function validation() 
{ 
       var a=document.getElementById('tblSample').rows.length; 
       for(i=0;i<a;i++) 
       { 
    alert(document.getElementById('tblSample').txtRow[i].value);//this doesnt work 
       } 
    return true; 
} 
</script> 
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"> 
<title>Insert title here</title> 
</head> 
<body> 
<form name ='qqq' action="sample.html"> 
    <p> 
    <input type="button" value="Add" onclick="addRowToTable();" /> 
    <input type="button" value="Submit" onclick="return validation();" /> 
    </p> 
    <p> 
    <table border="1" id="tblSample"> 
    <tr> 
    <td>1</td> 
    <td>The 1st row</td> 
    </tr> 
    </table> 
    </p> 
</form> 
</body> 
</html> 

Пожалуйста, предложите

ответ

0
  1. Добавить проверку в onsubmit формы:

..form onsubmit = "Возвращение валидации (это) "

  1. цикл над содержимым формы (при условии, что вы добавили входы правильно)
 
    function validate(theForm) { 
     var found = false; 
     for(var i=0, n=theForm.elements.length; i < n;i++) { 
     if (theForm.elements[i].name.indexOf('txtRow')==0 && theForm.elements[i].value!="") { 
     found=true; 
     break; // no need to hang around longer 
     } 
    } 
    return found; 
    } 
+0

его не working..its давая мне текст «Добавить» и «Отправить» кнопки .. Кодекс проверка функции() \t { \t \t вар найден = ложь ; \t \t для (вар я = 0, п = qqq.elements.length; <п; я ++) \t \t { \t \t \t оповещения (qqq.elements [я] .value); \t \t \t если (qqq.elements [я] .name.indexOf ('txtRow') == 0 && qqq.elements [я] .value! = "") \t \t \t { \t \t \t \t оповещения («не входит в это условие»); \t \t \t \t found = true; \t \t \t \t break; // не нужно торчать больше \t \t \t} \t \t} \t \t возвращение найдено; \t} – Gourav

+0

Отменить форматирование. Пожалуйста, попробуйте еще раз – mplungjan