Código:
mi codigo ajax.js es el siguiente <form name="form1" method="post" action=""> <table width="282" border="0" align="center"> <tr> <td width="276"><div id="login3"><table width="262" border="0" align="center"> <tr> <td width="289"><div align="center">perfil</div></td> </tr> <%//pongo mis variables de coneccion //conecto con mi basede datos //hago la consulta while(rs.next()){ int dato=rs.getInt("id_perfil"); %><tr> <td><a style="text-decoration:underline;cursor:pointer;" onclick="getPagina('permisos.jsp?idperfil=<%=dato%>')"><%=rs.getString("perfil")%></a></td> </tr> <% }%> </table></div></td> </tr> <tr><td> </td> </tr> </table> <div id="formulario"></div> </form> </body>
Código:
lo ocupo para abrir la pagina permisos.jsp la cual me hace una consulta y me activa los checks de una lista de permisos dependiendo del resultado de mi consultavar tagScript = '(?:<script.*?>)((\n|\r|.)*?)(?:<\/script>)'; /** * Eval script fragment * @return String */ String.prototype.evalScript = function() { return (this.match(new RegExp(tagScript, 'img')) || []).evalScript(); }; /** * strip script fragment * @return String */ String.prototype.stripScript = function() { return this.replace(new RegExp(tagScript, 'img'), ''); }; /** * extract script fragment * @return String */ String.prototype.extractScript = function() { var matchAll = new RegExp(tagScript, 'img'); return (this.match(matchAll) || []); }; /** * Eval scripts * @return String */ Array.prototype.evalScript = function(extracted) { var s=this.map(function(sr){ var sc=(sr.match(new RegExp(tagScript, 'im')) || ['', ''])[1]; if(window.execScript){ window.execScript(tagScript); } else { window.setTimeout(sc,0); } }); return true; }; /** * Map array elements * @param {Function} fun * @return Function */ Array.prototype.map = function(fun) { if(typeof fun!=="function"){return false;} var i = 0, l = this.length; for(i=0;i<l;i++) { fun(this[i]); } return true; }; function AJAX2(){ var ajaxs = ["Msxml2.XMLHTTP","Msxml2.XMLHTTP.4.0","Msxml2.XMLH TTP.5.0","Msxml2.XMLHTTP.3.0","Microsoft.XMLHTTP"]; var ajax = false; for(var i=0 ; !ajax && i<ajaxs.length ; i++){ try{ ajax = new ActiveXObject(ajaxs[i]); } catch(e) { ajax = false; } } if(!ajax && typeof XMLHttpRequest!='undefined') { ajax = new XMLHttpRequest(); } return ajax; } function getPagina(pagina){ document.getElementById("formulario").innerHTML = "<center>C A R G A N D O</center>"; var ajax = AJAX2(); if(!ajax){ document.getElementById("formulario").innerHTML = "Error: El navegador no acepta ActiveX. No se pudo cargar la pagina."; return false; } ajax.open("POST",pagina,true); ajax.onreadystatechange = function() { if (ajax.readyState == 4) { var scs=ajax.responseText.extractScript(); document.getElementById("formulario").innerHTML=ajax.responseText.stripScript(); scs.evalScript(); } } ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); ajax.send(null); }
el codigo de mi pagina permisos.jsp es el siguiente
Código:
el problema esta en que cuando mando llamar permisos.jsp me manda un error de tiempo de ejecucion en la linea <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <script> function seleccionar_todo(){ for (i=0;i<document.forms.form1.elements.length;i++) if(document.forms.form1.elements[i].type == "checkbox") document.forms.form1.elements[i].checked=1 } function deseleccionar_todo(){ for (i=0;i<document.forms.form1.elements.length;i++) if(document.forms.form1.elements[i].type == "checkbox") document.forms.form1.elements[i].checked=0 } </script> <script> function seleccionar2(subper,id2){ document.forms.form1.subper.checked = true document.forms.form1.subper.value = id2 } </script> <script> function seleccionar(tarea,id,subper,id2){ document.forms.form1.tarea.checked = true document.forms.form1.tarea.value = id document.forms.form1.subper.checked = true document.forms.form1.subper.value = id2 } </script> <body> <form name="form1" method="post" action=""> <table width="200" border="1" align="center"> <tr> <td>Permisos <label> <br> <input type="checkbox" name="checkbox" value="" onClick="javascript:seleccionar_todo()"> seleccionar todos <br> <input type="checkbox" name="checkbox2" value="" onClick="javascript:deseleccionar_todo()"> seleccionar ninguno</label></td> </tr> <tr> <td> <table width="200" border="1"> <tr> <td>Catalogos</td> </tr> <tr> <td> <table width="200" border="1"> <tr> <td> <label> <input name="plano" type="checkbox" id="plano" value=""> </label>Planos</td> </tr> <tr> <td><table width="200" border="1"> <tr> <td><label> <input type="checkbox" name="agregar_plano" value="" id="agregar_plano"> Agregar Datos<br> <input type="checkbox" name="modificar_plano" value="" id="modificar_plano"> Modificar Datos<br> <input type="checkbox" name="eliminar_plano" value="" id="eliminar_plano"> Eliminar Datos</label></td> </tr> </table> </td> </tr> </table></td> </tr> </table> <table width="220" border="1"> <tr> <td width="210">Herramientas</td> </tr> <tr> <td><table width="211" border="1"> <tr> <td width="201"><label> <input name="respaldar" type="checkbox" id="respaldar" value=""> </label> Respaldar Base de Datos </td> </tr> <tr> </tr> </table></td> </tr> <tr> <td><table width="210" border="1"> <tr> <td width="200"><label> <input name="restaurar" type="checkbox" id="restaurar" value=""> </label> Restaurar Base de Datos </td> </tr> <tr> </tr> </table></td> </tr> </table> <table width="218" border="1"> <tr> <td width="214">Produccion</td> </tr> <tr> <td><table width="208" border="1"> <tr> <td width="198"><label> <input type="checkbox" name="nueva" value="" id="nueva"> </label> nueva</td> </tr> </table></td> </tr> <tr> <td><table width="210" border="1"> <tr> <td width="200"><label> <input type="checkbox" name="continuar" value=""> </label> Continuar</td> </tr> </table></td> </tr> <tr> <td><table width="210" border="1"> <tr> <td width="200"><label> <input type="checkbox" name="paro" value=""> </label> Paro</td> </tr> <tr> <td><table width="200" border="1"> <tr> <td><label> <input type="checkbox" name="reportar_causa" value=""> </label>Reportar Causa </td> </tr> </table></td> </tr> </table></td> </tr> </table> <table width="200" border="1"> <tr> <td>Usuarios Y Perfiles </td> </tr> <tr> <td><table width="200" border="1"> <tr> <td><label> <input name="usuarios" type="checkbox" id="usuarios" value=""> </label> Usuarios</td> </tr> <tr> <td><table width="200" border="1"> <tr> <td><label> <input type="checkbox" name="registrar_usuario" value="">Registrar Usuario<br> <input type="checkbox" name="modificar_usuario" value="">Modificar Usuario<br> <input type="checkbox" name="eliminar_usuario" value="">Eliminar Usuario</label></td> </tr> </table></td> </tr> </table></td> </tr> <tr> <td><table width="200" border="1"> <tr> <td><label> <input name="perfiles" type="checkbox" id="perfiles" value=""> </label>Perfiles</td> </tr> <tr> <td><table width="200" border="1"> <tr> <td><label> <input type="checkbox" name="agregar_perfil" value="">Agregar Perfil<br> <input type="checkbox" name="modificar_perfil" value="">Modificar Perfil<br> <input type="checkbox" name="eliminar_perfil" value="">Eliminar Perfil</label></td> </tr> </table></td> </tr> </table></td> </tr> <tr> <td><table width="200" border="1"> <tr> <td><label> <input name="permisos" type="checkbox" id="permisos" value=""> </label>Permisos</td> </tr> <tr> <td><table width="200" border="1"> <tr> <td><label><input type="checkbox" name="modificar_permisos" value="">Modificar Permisos </label></td> </tr> </table></td> </tr> </table></td> </tr> </table> </td> </tr> </table> </form> <% String tarea=null; int dato=Integer.parseInt(request.getParameter("idperfil"));; <%//pongo mis variables de coneccion //conecto con mi basede datos //hago la consulta while(rs.next()){ <% //conecto con mi basede datos //hago la consulta while(rs2.next()){ //conecto con mi basede datos //hago la consulta while(rs3.next()){ if(rs3.getString("tarea").equals("null")){ tarea="nueva"; %> <script> seleccionar2(<%=rs2.getString("subpermiso")%>,<%=rs2.getInt("subpermiso.id_subpermiso")%>); </script> <% } else{ tarea=rs3.getString("tarea"); %> <script> seleccionar(<%=tarea%>,<%=rs3.getInt("tareas.id_tarea")%>,<%=rs2.getString("subpermiso")%>,<%=rs2.getInt("subpermiso.id_subpermiso")%>); </script> <% }}}}//cierro conecciones%> </body> </html>
document.getElementById("formulario").innerHTML=aj ax.responseText.stripScript();
de mi ajax.js
no se ejecutan que es lo que estoy haciendo mal o como puedo corregirlo si alguien me puede ayudar se lo agradecere.
de antemano muchas gracias