Mi pregunta es como pasar un valor JavaScript a Asp. Se que para pasarlo de ASP a JavaScript es de la siguiente manera: <script language='javascript'> var cadena=""; cadena = '<%=hora3%>'; </script> ¿Pero cómo lo hago de forma contraria?
1 Respuesta
Respuesta de neicos
1
1
neicos, Analista de sistemas y Programador en: Basic,c,c++,visual...
Para hacer lo que pides es un poco más complicado que de asp-javascript. Necesitas hacer un Jquery o un AJAX, dependiendo de lo que necesites, te puedo poner un ejemplo de lo que más o menos necesitas, para enviarlo a ASP y luego procesarlo con ASP. Dentro del <head> </head> o con un enlace a archivo.js JavaScript <script> function nuevoAjax() { var xmlhttp=false; try { // Creacion del objeto AJAX para navegadores no IE xmlhttp=new ActiveXObject("Msxml2.XMLHTTP"); } catch(e) { try { // Creacion del objet AJAX para IE xmlhttp=new ActiveXObject("Microsoft.XMLHTTP"); } catch(E) { if (!xmlhttp && typeof XMLHttpRequest!='undefined') xmlhttp=new XMLHttpRequest(); } } return xmlhttp; } </script>
Ahora, también dentro del script otra función que será la que hace la llamada al archivo tuyo ASP, así: function rellenador(a,b){ var ajax=nuevoAjax(); ajax.open("GET", "tuarchivo.asp?campo1="+a+"&campo2="+b, true); ajax.onreadystatechange=function(){ if (ajax.readyState==4){ var scr=ajax.responseText; eval(scr); } } ajax.send(null); } Te comento lo que hace. Esta función recibe dos datos de la web: a y b que la podemos llamar desde cualquier evento JavaScript o desde código. Crea el Ajax y hace la petición al archivo Ajax, en este caso envía por el método GET y envía el valor de campo1=a y el valor de campo2=b. Haría lo mismo que cuando se hace un submit de un form, pasándole los campos y su contenido. Para que luego tu con el archivo ASP procese, el contenido enviado con el método GET. Luego, el Ajax pasa a tener varios estados, el que te va a interesar o se suele utilizar mas es el ajax.readyState==4, que se utiliza para saber que el servidor ha terminado la solicitud mandad en el ASP. En este caso se guarda en scr=ajax.responseText; que sería lo que devuelve el archivo ASP a AJAX, por ejemplo: si se ha procesado todo correctamente, puedes escribir un mensaje: Response.Write("Procesado todo correctamente") que es código ASP, que en vez de imprimirlo en la web lo va a devolver a AJAX, tambíen se le puede mandar código HTML o JavaScript, para luego evaluarlo, compararlo, insertarlo... Y en un principio esta es la forma de mandar variables de JavaScript a ASP.