AYUDA CON funcion javascript en asp

Riu

el problema es que al llamar a la funcion me dice que no reconoce 'fiche', a que es debido esto.

<%@ Page Language="VB" AutoEventWireup="false" CodeFile="cursos.aspx.vb" Inherits="_Default" %>

<html xmlns="http://www.w3.org/1999/xhtml" >

<head runat="server">
<title>Página sin título</title>
<script type="text/javascript">

function textfile_onclick() {

}
function mostrar_onclick(){
alert('jeje')
fiche.style.visibility="hidden"
}

</script>
</head>
<body>
<form id="form1" runat="server" enctype="multipart/form-data" method="POST">

<asp:Button ID="Button4" runat="server" OnClientClick="javascript:mostrar_onclick();" Style="position: static" Text="Capitulos"
Width="105px" />

<input type="submit" id="fiche" onclick="textfile.click()" text="examinar" style="visibility:visible; width: 72px; position: static" value="Examinar" /><br>

<div>

</form>

</body>
</html>

IS4kO

tu navegador puede interpretar javaScript pero no es tan inteligente como para saber que cuando pones fiche, estás llamando a un boton, a una funcion, etc etc....

Para acceder a un objeto de la página debes seguir el DOM de js, utiliza

Document.getElementById("fiche").StyleOlOqueSea

SeiYa

El problema, es que has puesto fiche en la id y no en name.

De todos modos, yo soy partidario de no usar la navegación por nombres y tirar de getElementById o getElementByName

En tu caso, basta con que en vez de fiche. ... pongas getElementById('fiche).

Un saludo.

Riu

#2,#3 me sigue dando el mismo error que no esta definido... :D pero entiendo lo que me quereis decir..

IS4kO

Testeado:

(Ojo, con poner el boton de tipo submit, ya que en ese caso la pág hará un postback y no se te ocultará (si es lo que quieres hacer), cosa que se solucionaría controlando dicho postback)



<html xmlns="http://www.w3.org/1999/xhtml" >
<title>Página sin título</title>
<script type="text/javascript">
function textfile_onclick() 
{

}
function mostrar_onclick()
{
document.getElementById("fiche").style.display = "none";

}

</script>
</head>
<body>
<form id="form1" runat="server" enctype="multipart/form-data" method="POST">

<input type="button" id="fiche" onclick="mostrar_onclick()" text="examinar" style="visibility:visible; width: 72px; position: static" value="Examinar" />


<div>

</form>
</body>
</html>
Riu

#6 asi lo consigo hacer pero hazlo con un asp:button a ver si lo consiges , por que yo aun sigo buscando como se hace xdd

IS4kO

Riu.

Da igual que sea o no asp:Button, ya que de ser así cuando este se carga en el cliente se reenderiza hacia un button normal de HTML, la cuestión es la que te comentaba antes, si tu haces un click en un aspButton, llamaras a la función que t elo pone a hidden, pero cuando se realice el postback de la página, se te pondrá el estilo por defecto del boton, ya que volverá a reenderizarse desde el servidor.

La cuestion es, que si lo que quieres es un postBack, no uses JS, pon el .visible a false en el codebehind de la pagina en cuestion

Riu

isako lo deseado no es un postback lo deseado es tener una opcion que al usarla me ponga visible una serie de botones , los que uso son asp y puedo ponerlos visible en asp pero este a no ser del tipo asp, lo tengo que hacer mediante un script , que cuando yo le de al boton que me pone visible los otros botones llame al script y cambie el parametro de hidden a visible, pero al ejecutarlo me dice que el objeto fiche que es la ide del input type button , me dice que este no existe y me da un error la funcion javascript , no se si me explique claramente pero no se hacerlo mejor, ya que no se ni javascript y asp llevo 2 semanas y tengo que hacer una web bastante xunga para el curro..

IS4kO

Te comento de nuevo, el que sea control ASP o no, da lo mismo, ya que al reenderizarse en el explorador este es "transformado" en control HTML, si te he entendido bien, esta es la solución

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="prueba.aspx.cs" Inherits="prueba" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
    <title>Untitled Page</title>
</head>
<script language=javascript>
function funcion()
{
    document.getElementById("Button1").style.display="none";
}

</script>
<body>
<input type=button id=muestra onclick="funcion()" value="Boton Normal" />

<form id="form1" runat="server">
<div>
    <asp:Button ID="Button1" runat="server" Text="BotonASP"/>
</div>
</form>
</body>
</html>
Riu

gracias isako , lo solucione de la misma manera :P, pero muchas gracias de todas maneras mola la gente como tu ^^

Usuarios habituales

  • Riu
  • IS4kO
  • SeiYa