Principales respuestas
¿qué hay de malo en esta sentencia de javascript?

Pregunta
-
Hola a todos:
Uso esta sentencia inline de javascript en un onclientclick de un button
if (document.getElementById('cphcontenido_lblcriteriosobras').value=='') {alert('Faltan criterios');return false} document.getElementById('cphcontenido_lblcriteriosobras').style.display='none';document.getElementById('cphcontenido_lblcriteriosobras').value='';document.getElementById('cphcontenido_txtcriterioobras').value=''
Pero no se ejecuta. Hay algo mal, no sé qué.
Pido vuestra ayuda.
Gracias de antemano
Respuestas
-
>>Si hago un alert me dice siempre 'undefined'. ¿Por qué? ¿Qué quiere decir eso?
lo primero que aconsejaria es que al script le des una mejor identacion, porque asi como lo defines parece una bola de codigo que no se puede interpretar
entiendo ese codigo lo defines dentro del mismo aspx, no?
despues intenta usando
alert(document.getElementById('<%=lblcriteriosobras.ClientID%>').value);
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina- Marcado como respuesta Karen MalagónModerator miércoles, 1 de abril de 2015 18:34
Todas las respuestas
-
hola
aconsejaria que no la definas inline sino que crees la funcion que invoques desde el onclientclick
<script> function validar(){ var lblcriteriosobras = document.getElementById('cphcontenido_lblcriteriosobras'); var txtcriterioobras = document.getElementById('cphcontenido_txtcriterioobras'); if (lblcriteriosobras.value=='') { alert('Faltan criterios'); return false; } lblcriteriosobras.style.display='none'; lblcriteriosobras.value=''; txtcriterioobras.value=''
return true; } </script>
si lo haces podras ver que en el return false te falta el punto y coma
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina- Editado Leandro TuttiniMVP viernes, 27 de marzo de 2015 17:29
- Propuesto como respuesta Karen MalagónModerator viernes, 27 de marzo de 2015 22:08
-
if (document.getElementById('cphcontenido_lblcriteriosobras').value==='') { alert('Faltan criterios'); } document.getElementById('cphcontenido_lblcriteriosobras').style.display='none'; document.getElementById('cphcontenido_lblcriteriosobras').value=''; document.getElementById('cphcontenido_txtcriterioobras').value='';
prueba asi... consejo... existen validadores de codigo javascript en linea para verificar los errores...
Si te funciono marca como respuesta, sino comenta..
Saludos
- Editado Julio Csar viernes, 27 de marzo de 2015 17:52
-
Hola:
El HTML es
<asp:TextBox ID="txtcriterioobras" runat="server" /> <asp:DropDownList ID="ddldiasobras" runat="server" /> <asp:Label ID="lblraya1obras" Text="/" runat="server" /> <asp:DropDownList ID="ddlmesesobras" runat="server" /> <asp:Label ID="lblraya2obras" Text="/" runat="server" /> <asp:DropDownList ID="ddlanosobras" runat="server" /> <asp:Button ID="btnfiltrarobras" Text="Filtrar" OnClientClick="var txtCriterio = document.getElementById('cphcontenido_txtcriterioobras'); var ddlanos = document.getElementById('cphcontenido_ddlanosobras'); var chkno = document.getElementById('cphcontenido_chknoobras') ; if (txtCriterio.value=='' && ddlanos.style.display =='none' && !chkno.checked) {alert('Faltan criterios'); return false}" runat="server" /> <asp:Button ID="btnbuscarobras" Text="Buscar" OnClientClick="var txtCriterio = document.getElementById('cphcontenido_txtcriterioobras'); var ddlanos = document.getElementById('cphcontenido_ddlanosobras'); var chkno = document.getElementById('cphcontenido_chknoobras') ; if (txtCriterio.value=='' && ddlanos.style.display =='none' && !chkno.checked) {alert('Faltan criterios'); return false}" runat="server" /> <asp:Button ID="btntodosobras" Text="Todos" OnClientClick="var txtCriterio = document.getElementById('cphcontenido_txtcriterioobras'); var ddlanos = document.getElementById('cphcontenido_ddlanosobras'); var chkno = document.getElementById('cphcontenido_chknoobras') ;if (document.getElementById('cphcontenido_btnfiltrarobras').value=='Filtrar' && document.getElementById('cphcontenido_btnbuscarobras').value=='Buscar') {document.getElementById('cphcontenido_lblcriteriosobras').value='';document.getElementById('cphcontenido_lblcriteriosobras').style.display='none'; if (document.getElementById('cphcontenido_txtcriterioobras').value=='') alert('Faltan criterios');document.getElementById('cphcontenido_txtcriterioobras').value='';return false}" runat="server" /> <br /><asp:label ID="lblcriteriosobras" runat="server" />
Esto está en un contentplaceholder llamado cphcontenido. Bntodosobras contiene el script puesto en el post anterior.
Como veis lblcriteriosobras está después de bntodosoobras. ¿Se puede referenciar a algo que está después del script en que lo referencio?
Gracias de antemano
-
Sí, no hay problema.
Lo importante es que el objeto esté creado cuando se ejecuta el script. El código se va a ejecutar cuando el usuario haga click en alguno de los botones, para entonces la etiqueta ya estará creada.
- Marcado como respuesta volar.2014 sábado, 28 de marzo de 2015 9:27
- Desmarcado como respuesta volar.2014 sábado, 28 de marzo de 2015 9:27
-
Hola:
Así es, veo que no hay problema.
Hice una función
function hacer_todos(tabla) {alert(document.getElementById('cphcontenido_lblcriteriosobras').value);var txtCriterio = document.getElementById('cphcontenido_txtcriterioobras'); var ddlanos = document.getElementById('cphcontenido_ddlanosobras'); var chkno = document.getElementById('cphcontenido_chknoobras') if (txtCriterio.value=='' && ddlanos.style.display =='none' && !chkno.checked) {alert('Faltan criterios'); ;return false} document.getElementById('cphcontenido_lblcriteriosobras').style.display='none'; document.getElementById('cphcontenido_txtcriterioobras').value='' }
Si hago un alert me dice siempre 'undefined'. ¿Por qué? ¿Qué quiere decir eso?
Gracias
-
-
>>Si hago un alert me dice siempre 'undefined'. ¿Por qué? ¿Qué quiere decir eso?
lo primero que aconsejaria es que al script le des una mejor identacion, porque asi como lo defines parece una bola de codigo que no se puede interpretar
entiendo ese codigo lo defines dentro del mismo aspx, no?
despues intenta usando
alert(document.getElementById('<%=lblcriteriosobras.ClientID%>').value);
saludos
Leandro Tuttini
Blog
MVP Profile
Buenos Aires
Argentina- Marcado como respuesta Karen MalagónModerator miércoles, 1 de abril de 2015 18:34