Ciao a tutti.
Ho uno strano problema con del codice misto ASP/javascript.
Questo è il codice:
...e via dicendo.... sino all' ID 28:codice:<script language="javascript" type="text/javascript"> <!-- function uncheckAllExceptThis(input) { var table = input.parentNode, els, el, i; while (table.nodeName !== 'TABLE' && table.nodeName !== 'BODY') { table = table.parentNode; } if (table.nodeName === 'BODY') { return; } els = table.getElementsByTagName('input'); for (i = 0; i < els.length; i += 1) { el = els[i]; if (el.type === 'checkbox' && el !== input) { //console.log(el.checked); el.checked = false; updateRowColour(el); } } } function updateRowColour(input) { var checked = ''; if (input.checked) { checked = 'checked'; } else { input.checked = null; } input.parentNode.parentNode.className = checked; } //--> </script> <td align=center><input type=checkbox name=C1 value=ON></td> <script type="text/javascript"> var list = document.getElementById('someList'); list.onclick = function (evt) { evt = evt || window.event; var targ = evt.target || evt.srcElement; if (!(targ && targ.nodeName && targ.nodeName === 'INPUT' && targ.type === 'checkbox')) { return; } uncheckAllExceptThis(targ); updateRowColour(targ); if (targ.checked) { var w = 1000 var h = 400 var left = (screen.width/2)-(w/2); var top = (screen.height/2)-(h/2); window.open ('somePage.asp?sID=32', '', 'location=no, directories=no, status=no, menubar=no, scrollbars=yes, toolbar=no, resizable=no, copyhistory=no, width='+w+', height='+h+', top='+top+', left='+left); } }; </script> <td align=center><input type=checkbox name=C1 value=ON></td> <script type="text/javascript"> var list = document.getElementById('someList'); list.onclick = function (evt) { evt = evt || window.event; var targ = evt.target || evt.srcElement; if (!(targ && targ.nodeName && targ.nodeName === 'INPUT' && targ.type === 'checkbox')) { return; } uncheckAllExceptThis(targ); updateRowColour(targ); if (targ.checked) { var w = 1000 var h = 400 var left = (screen.width/2)-(w/2); var top = (screen.height/2)-(h/2); window.open ('somePage.asp?sID=7', '', 'location=no, directories=no, status=no, menubar=no, scrollbars=yes, toolbar=no, resizable=no, copyhistory=no, width='+w+', height='+h+', top='+top+', left='+left); } }; </script>
Come vedete ad ogni checkbox è associata l'apertura di una window open che richiama la pagina ASP somepage.asp ed in querystring gli passo l'ID ottenuto con una query lato server.codice:<td align=center><input type=checkbox name=C1 value=ON></td> <script type="text/javascript"> var list = document.getElementById('someList'); list.onclick = function (evt) { evt = evt || window.event; var targ = evt.target || evt.srcElement; if (!(targ && targ.nodeName && targ.nodeName === 'INPUT' && targ.type === 'checkbox')) { return; } uncheckAllExceptThis(targ); updateRowColour(targ); if (targ.checked) { var w = 1000 var h = 400 var left = (screen.width/2)-(w/2); var top = (screen.height/2)-(h/2); window.open ('somePage.asp?sID=28', '', 'location=no, directories=no, status=no, menubar=no, scrollbars=yes, toolbar=no, resizable=no, copyhistory=no, width='+w+', height='+h+', top='+top+', left='+left); } };
Il problema è che su qualsiasi checkbox clicco la somepage.asp processa sempre l' ID numero 28 che è l'ultimo dei checkbox.
Perchè si comporta così?
Grazie

Rispondi quotando
