html - How to set javascript on a dynamic array? -
i working on dynamic array inside table means table appears based on user input. users need fill table , click submit. need place javascript here check if user didn't select or didn't write in column. if so, user should not able proceed.
<form action="klr.php" method="post" name="myform" > <?php ($i = 1; $i <= $de; $i++) { ?> <tr> <td>tube</td> <td> <select id="in4-<?php echo $i; ?>" name="t1[<?php echo $i; ?>]" onclick="gettext3(<?php echo $i; ?>)" onchange="gettext39(<?php echo $i; ?>)" onmouseout="gettext89(<?php echo $i; ?>)"> <option value="0">0</option> <option value="12">12</option> <option value="18">18</option> <option value="24">24</option> <option value="75">75</option> </select> </td> <td> <input type="text" name="t2[<?php echo $i; ?>]" id="in1-<?php echo $i; ?>" onblur="gettext3(<?php echo $i; ?>)" onchange="gettext39(<?php echo $i; ?>)" onmouseout="gettext89(<?php echo $i; ?>)"/> </td> <td> <select name="a1[<?php echo $i; ?>]" id="in2-<?php echo $i; ?>" onclick="gettext3(<?php echo $i; ?>)"onchange="gettext39(<?php echo $i; ?>)" onmouseout="gettext89(<?php echo $i; ?>)" > <option value="0">0</option> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> <option value="7">7</option> <option value="8">8</option> <option value="9">9</option> <option value="10">10</option> <option value="11">11</option> <option value="12">12</option> </select> </td> </table>
i provided code of first row of table in user selects values. in second column users can enter values , in third column users can select value again. need place javascript in 3 of these columns
it sounds wanted verify if inside form element validated. here 2 fiddles worked started:
1) regular javascript
function formcheck() { var form = document.getelementbyid('mainform'), inputs = form.getelementsbytagname('input'), selects = form.getelementsbytagname('select'), i, errors = []; (i = 0; < inputs.length; i++) { if (inputs[i].value.match(/^\s*$/)) { errors.push(inputs[i].title + ' not set'); } } (i = 0; < selects.length; i++) { if (selects[i].selectedindex === 0) { errors.push(selects[i].title + ' not set'); } } if (errors.length > 0 ) { alert(errors.join('\n')); return false; } alert('success!'); return true; }
http://jsfiddle.net/fstreamz/3decx/4/
2) jquery
function formcheck() { var formelements = $('#mainform').find('input, select'), errors = []; $.each(formelements, function(i, el) { if ($(el).val().match(/^\s*$/)) { errors.push($(el).prop('title') + ' blank!'); } }); if (errors.length > 0 ) { alert(errors.join('\n')); return false; } alert('success'); return true; }
http://jsfiddle.net/fstreamz/w5kg3/4/
a few notes: 1) checks every input or select element inside form element id="mainform" you'd have add form (next name="myform"). 2) added title attribute input/select elements show in error message reference. 3) checks whitespace in input boxes , consider invalid. 4) in jsfiddle, returns false in success form doesn't submit demonstration purposes. should changed true if use it.
Comments
Post a Comment