Foros del Web » Programando para Internet » Javascript »

Obtener el valor de un control web; Master Page / Javascript

Estas en el tema de Obtener el valor de un control web; Master Page / Javascript en el foro de Javascript en Foros del Web. Hola a todos, espero me ayuden, tengo el siguiente problema Tengo una pagina Master Page, la cual tiene una pagina aspx, dentro de esta llamo ...
  #1 (permalink)  
Antiguo 02/11/2006, 23:37
 
Fecha de Ingreso: agosto-2006
Mensajes: 34
Antigüedad: 17 años, 8 meses
Puntos: 0
Obtener el valor de un control web; Master Page / Javascript

Hola a todos, espero me ayuden, tengo el siguiente problema

Tengo una pagina Master Page, la cual tiene una pagina aspx, dentro de esta llamo a una archivo js llamado Script.js, este archivo tiene una funcion
function Test()
{
alert(document.getElementById("TxtNombre").getAttr ibute("value"));
}

Quiero que me muestre el valor del texto, anteriormente me funcionaba, pero cuando esta la master de por medio, me manda un mensaje de error javascript, diciendome que el objeto es nulo o no es un objeto, ¿dónde esta el error?

Otra cosa, que me recomiendan para trabajar con AJAX, en este momento mando a llamar el script desde la master page, lo deberia hacer desde cada pagina aspx o así como estoy, o es indiferente?, o que otra cosa puedo hacer, esto para mejorar el rendimiento, además de que si pudieran decirme las desventajas de cada método, siempre he pensado que me es mejor saber las desventajas que las ventajas, puesto que las ventajas las puedo encontrar más facilmente

Saludos y Gracias.
  #2 (permalink)  
Antiguo 03/11/2006, 02:05
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

Lo de Master Page no lo tengo muy claro, pero si quieres mostrar un texto dentro de un iframe debes recurrir al conjunto de frames, y en el caso inverso del objeto parent... Las funciones deben estar accesibles desde donde se llaman, o sea que si quieres usar una función que se encuantra definida en la página padre, por fuerza debes usar opener.laFuncion()...

Tal vez sea mejor que pongas un resúmen de tu código (no todo porque será más difícil de que nos animemos a leerlo...)

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #3 (permalink)  
Antiguo 03/11/2006, 09:29
 
Fecha de Ingreso: agosto-2006
Mensajes: 34
Antigüedad: 17 años, 8 meses
Puntos: 0
/*****************PAGINA MASTER Nombre: TesterCase.Master***************/

<%@ Master Language="VB" CodeFile="MP_TesterCase.master.vb" Inherits="MP_TesterCase" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "No tengo 30 msnw.d">
<html xmlns="No tengo 30 msn" >
<head runat="server">
<title>Untitled Page</title>
</head>
<body background="../Background/fondo.gif">
<form id="form1" runat="server">
<asp:contentplaceholder id="ContentPlaceHolder1" runat="server">
</asp:contentplaceholder>
</form>
</body>
</html>

/*******************PAGINA ASPX Nombre: AltaCliente.aspx*******************/

<%@ Page Language="VB" MasterPageFile="~/MP_TesterCase.master" AutoEventWireup="false" CodeFile="AltaCliente.aspx.vb" Inherits="AltaCliente" title="Untitled Page" %>
<asp:Content ID="C_Cliente" ContentPlaceHolderID="ContentPlaceHolder1" Runat="Server">

<script src="../js/QAFunction.js" type="text/javascript"> </script>


<asp:textbox id="TxtNombre" runat="server"
Width="232px"></asp:textbox></P>
<IMG onclick="Test()" alt="" src="../Img/bto_guardar.gif">
</asp:Content>

/***********ARCHIVO JS Nombre: QAFunction.js****************/
var isIE = false;
var controles;
var req;

function Test()
{
alert(document.getElementById("TxtNombre").getAttr ibute("value"));
//AL TRATAR DE OBTENER EL VALOR DE OBJETO MARCA EL ERROR
}


En el control img que esta en la pagina altacliente.aspx mando a llamar la funcion Test
  #4 (permalink)  
Antiguo 03/11/2006, 17:02
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años
Puntos: 1284
Hola:

La verdad es que tendrías que mostrarnos el código que le llega al cliente... o plantear tu duda en el foro asp...

Para el atributo value no es necesario poner getAttribute (basta con .value) porque es un atributo normal...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #5 (permalink)  
Antiguo 03/11/2006, 18:08
 
Fecha de Ingreso: agosto-2006
Mensajes: 34
Antigüedad: 17 años, 8 meses
Puntos: 0
Lo que pasa es que al utilizar las master, el codigo que le manda al cliente, se le antepone un prefijo al nombre del objeto
<input name="ctl00$ContentPlaceHolder1$TextBox1" type="text" id="ctl00_ContentPlaceHolder1_TextBox1" style="left: 2px; position: relative; top: 55px" />

ctl00_ContentPlaceHolder1_

Busque y hay otro que tienen esa duda, dicen que se resuelve poniendo estp

..ById("<%=TextBox1.ClienteId%>").value


pero no me funciona, u otros simplemente le concatenan el

..ById("ctl00_ContentPlaceHolder1_" + "TextBox1").value

pero este último no me convence, no se si haya otra forma
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 20:55.