Tenho um sistema asp e estou precisando que uma função em JS retorne valores para o form ser validado antes de er submetido. O problema é justamente esse fica dando um erro:
Tipos incompativeis: 'return' por isso ele mostra a o 'alert' e não para o submit
Cada botão chama uma função de validação e dps tem uma função mestre que valida essas 2
ai vai o código
<html>
<head>
<style type="text/css">
<!--
.bordaum td {border:1px solid #006699;}
-->
</style>
<title>Consulta de Equipamentos</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<script Language="VBScript">
Sub cboTipoEqpto_OnChange()
Window.Navigate "ConsultaEqpto.asp?TP=" & frmeqptocont.cboTipoEqpto.options(frmeqptocont.cboTipoEqpto.selectedIndex).value & "&AG=" & frmeqptocont.cboUnidade.options(frmeqptocont.cboUnidade.selectedIndex).value
End Sub
Sub TP_OnLoad(a)
frmeqptocont.cboTipoEqpto.selectedIndex=a
End Sub
</SCRIPT>
<script language="Javascript">
function Alerta() {
if (frmeqptocont.cboContrato.value==0){
frmeqptocont.cboUnidade.value=0;
frmeqptocont.cboTipoEqpto.value=0;
alert("Selecione um Contrato.");
return false
}
return true
}
function Alerta2() {
if ((frmeqptocont.cboUnidade.value == 0)&&(frmeqptocont.cboTipoEqpto.value == 0)){
frmeqptocont.cboContrato.value=0;
alert("Selecione um campo.");
return false; //validação simplificada para teste
}
return true;
}
function AlertaGeral(){
if ((Alerta()==false)&&(Alerta2()==false)) {
return false;
}
return true;
}
</SCRIPT>
</head>
<body bgcolor='#FFFFCC' text='#FFFFCC'>
<form name="frmeqptocont" method="post" action="MostraEqpto.asp" onSubmit="AlertaGeral()">
<table width="100%" border="0" cellspacing="1" cellpadding="1" class="bordaum">
<tr>
<td colspan="3" bgcolor="#006699">
<div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="4" color="#FFFFCC">CONTROLE
DE EQUIPAMENTOS</font></b></div>
</td>
</tr>
<tr>
<td colspan="3" height="15" bgcolor="#006699">
<div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FFFFCC">Escolha
o melhor filtro de pesquisa...</font></b></div>
</td>
</tr>
<tr>
<td colspan="3" bgcolor="#006699"> </td>
</tr>
<tr>
<td bgcolor="#0099CC">
<div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFCC">Consulta
Por Contratos</font></b></div>
</td>
<td colspan="2" bgcolor="#666699">
<div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFCC">Consulta
Por Equipamentos</font></b></div>
</td>
</tr>
<tr>
<td bgcolor="#0099CC">
<div align="center">
<p><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2">
<%
dim sql2
sql2 = "select Descricao from TB_Contrato order by ID_Contrato"
Set CStrazercont = Server.CreateObject("ADODB.Recordset")
Set CStrazercont = Conn.Execute(sql2)
dim cont
CStrazercont.MoveFirst
cont=1
Response.write "<select name='cboContrato'><option value=0>Selecione um Contrato"
Do While not CStrazercont.EOF
Response.write "<option value="& cont &">"& CStrazercont.Fields("Descricao") &"</option>"
cont=cont+1
CStrazercont.MoveNext
loop
Response.write "</select>"
%>
</font></b></p>
</div>
</td>
<td bgcolor="#666699">
<div align="center">
<div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2">
<input type="text" name="txtnrSerie">
<br>
Por Nº de Série</font></b></div>
<div align="center"> <font size="2"> <font size="3"> <b> <font face="Verdana, Arial, Helvetica, sans-serif">
<font size="2">
<input type="text" name="txtTombamento">
<br>
Por Tombamento</font></font></b></font></font></div>
<div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2">
<input type="text" name="txtNome">
<br>
Por Nome</font></b></div>
</div>
</td>
<td bgcolor="#666699">
<div align="center"><b><font size="2"><b><font face="Verdana, Arial, Helvetica, sans-serif">
<%
dim sqlag
sqlag= "SELECT ID_Unidade, CGC, Nome FROM tb_Unidade ORDER BY CGC"
Set CStrazeragencia = Server.CreateObject("ADODB.Recordset")
Set CStrazeragencia = Conn.Execute(sqlag)
CStrazeragencia.MoveFirst
Response.write "<select name='cboUnidade'><option value=0 selected>Selecione uma Unidade..."
Do While not CStrazeragencia.EOF
Response.Write "<option value='" & CStrazeragencia("ID_Unidade") & "'>" & CStrazeragencia("CGC")& " - " & CStrazeragencia("Nome")
CStrazeragencia.MoveNext
loop
Response.write "</select>"
%>
<br>
Por Unidade</font></b></font></b></div>
<div align="center">
<div align="center"><font size="2"><b><font face="Verdana, Arial, Helvetica, sans-serif">
<%
dim sqltpeq
'dim vagencia
'dim vtipoequip
sqltpeq= "SELECT * FROM tb_TipoEquipamento Order by ID_Tipo"
Set CStrazereqpto = Server.CreateObject("ADODB.Recordset")
Set CStrazereqpto = Conn.Execute(sqltpeq)
CStrazereqpto.MoveFirst
Response.write "<select name='cboTipoEqpto' onChange='cboTipoEqpto_OnChange()'><option value=0>Selecione um Tipo..."
Do While not CStrazereqpto.EOF
response.write "<option value='" & CStrazereqpto("ID_Tipo") & "'>"& CStrazereqpto("Descricao")
CStrazereqpto.MoveNext
loop
Response.write "</select>"
%>
<br>
</font><font size="2"><b><font face="Verdana, Arial, Helvetica, sans-serif">Por
Tipo Equipamento</font></b></font></b></font><font size="2"><b></b></font></div>
</div>
<div align="center"><font size="2"><b><font face="Verdana, Arial, Helvetica, sans-serif"></font></b></font></div>
<br>
<font size="2"><b><font size="2"><b><font face="Verdana, Arial, Helvetica, sans-serif">Por
Modelo </font></b></font></b></font> </td>
</tr>
<tr>
<td height="26" bgcolor="#0099CC">
<div align="center">
<input type="submit" name="btConsultar" value="CONSULTAR" onclick="return Alerta()">
</div>
</td>
<td colspan="2" height="26" bgcolor="#666699">
<div align="center"><font size="2"><b>
<input type="submit" name="btConsultar2" value="CONSULTAR" onclick="return Alerta2()">
</b></font></div>
</td>
</tr>
</table>
</form>
Coloquei o código qse todo para identificar possiveis erros.
Pergunta
JJTam
Olá pessoal
Tenho um sistema asp e estou precisando que uma função em JS retorne valores para o form ser validado antes de er submetido. O problema é justamente esse fica dando um erro:
Tipos incompativeis: 'return' por isso ele mostra a o 'alert' e não para o submit
Cada botão chama uma função de validação e dps tem uma função mestre que valida essas 2
ai vai o código
<html> <head> <style type="text/css"> <!-- .bordaum td {border:1px solid #006699;} --> </style> <title>Consulta de Equipamentos</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <script Language="VBScript"> Sub cboTipoEqpto_OnChange() Window.Navigate "ConsultaEqpto.asp?TP=" & frmeqptocont.cboTipoEqpto.options(frmeqptocont.cboTipoEqpto.selectedIndex).value & "&AG=" & frmeqptocont.cboUnidade.options(frmeqptocont.cboUnidade.selectedIndex).value End Sub Sub TP_OnLoad(a) frmeqptocont.cboTipoEqpto.selectedIndex=a End Sub </SCRIPT> <script language="Javascript"> function Alerta() { if (frmeqptocont.cboContrato.value==0){ frmeqptocont.cboUnidade.value=0; frmeqptocont.cboTipoEqpto.value=0; alert("Selecione um Contrato."); return false } return true } function Alerta2() { if ((frmeqptocont.cboUnidade.value == 0)&&(frmeqptocont.cboTipoEqpto.value == 0)){ frmeqptocont.cboContrato.value=0; alert("Selecione um campo."); return false; //validação simplificada para teste } return true; } function AlertaGeral(){ if ((Alerta()==false)&&(Alerta2()==false)) { return false; } return true; } </SCRIPT> </head> <body bgcolor='#FFFFCC' text='#FFFFCC'> <form name="frmeqptocont" method="post" action="MostraEqpto.asp" onSubmit="AlertaGeral()"> <table width="100%" border="0" cellspacing="1" cellpadding="1" class="bordaum"> <tr> <td colspan="3" bgcolor="#006699"> <div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="4" color="#FFFFCC">CONTROLE DE EQUIPAMENTOS</font></b></div> </td> </tr> <tr> <td colspan="3" height="15" bgcolor="#006699"> <div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="1" color="#FFFFCC">Escolha o melhor filtro de pesquisa...</font></b></div> </td> </tr> <tr> <td colspan="3" bgcolor="#006699"> </td> </tr> <tr> <td bgcolor="#0099CC"> <div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFCC">Consulta Por Contratos</font></b></div> </td> <td colspan="2" bgcolor="#666699"> <div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2" color="#FFFFCC">Consulta Por Equipamentos</font></b></div> </td> </tr> <tr> <td bgcolor="#0099CC"> <div align="center"> <p><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> <% dim sql2 sql2 = "select Descricao from TB_Contrato order by ID_Contrato" Set CStrazercont = Server.CreateObject("ADODB.Recordset") Set CStrazercont = Conn.Execute(sql2) dim cont CStrazercont.MoveFirst cont=1 Response.write "<select name='cboContrato'><option value=0>Selecione um Contrato" Do While not CStrazercont.EOF Response.write "<option value="& cont &">"& CStrazercont.Fields("Descricao") &"</option>" cont=cont+1 CStrazercont.MoveNext loop Response.write "</select>" %> </font></b></p> </div> </td> <td bgcolor="#666699"> <div align="center"> <div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> <input type="text" name="txtnrSerie"> <br> Por Nº de Série</font></b></div> <div align="center"> <font size="2"> <font size="3"> <b> <font face="Verdana, Arial, Helvetica, sans-serif"> <font size="2"> <input type="text" name="txtTombamento"> <br> Por Tombamento</font></font></b></font></font></div> <div align="center"><b><font face="Verdana, Arial, Helvetica, sans-serif" size="2"> <input type="text" name="txtNome"> <br> Por Nome</font></b></div> </div> </td> <td bgcolor="#666699"> <div align="center"><b><font size="2"><b><font face="Verdana, Arial, Helvetica, sans-serif"> <% dim sqlag sqlag= "SELECT ID_Unidade, CGC, Nome FROM tb_Unidade ORDER BY CGC" Set CStrazeragencia = Server.CreateObject("ADODB.Recordset") Set CStrazeragencia = Conn.Execute(sqlag) CStrazeragencia.MoveFirst Response.write "<select name='cboUnidade'><option value=0 selected>Selecione uma Unidade..." Do While not CStrazeragencia.EOF Response.Write "<option value='" & CStrazeragencia("ID_Unidade") & "'>" & CStrazeragencia("CGC")& " - " & CStrazeragencia("Nome") CStrazeragencia.MoveNext loop Response.write "</select>" %> <br> Por Unidade</font></b></font></b></div> <div align="center"> <div align="center"><font size="2"><b><font face="Verdana, Arial, Helvetica, sans-serif"> <% dim sqltpeq 'dim vagencia 'dim vtipoequip sqltpeq= "SELECT * FROM tb_TipoEquipamento Order by ID_Tipo" Set CStrazereqpto = Server.CreateObject("ADODB.Recordset") Set CStrazereqpto = Conn.Execute(sqltpeq) CStrazereqpto.MoveFirst Response.write "<select name='cboTipoEqpto' onChange='cboTipoEqpto_OnChange()'><option value=0>Selecione um Tipo..." Do While not CStrazereqpto.EOF response.write "<option value='" & CStrazereqpto("ID_Tipo") & "'>"& CStrazereqpto("Descricao") CStrazereqpto.MoveNext loop Response.write "</select>" %> <br> </font><font size="2"><b><font face="Verdana, Arial, Helvetica, sans-serif">Por Tipo Equipamento</font></b></font></b></font><font size="2"><b></b></font></div> </div> <div align="center"><font size="2"><b><font face="Verdana, Arial, Helvetica, sans-serif"></font></b></font></div> <br> <font size="2"><b><font size="2"><b><font face="Verdana, Arial, Helvetica, sans-serif">Por Modelo </font></b></font></b></font> </td> </tr> <tr> <td height="26" bgcolor="#0099CC"> <div align="center"> <input type="submit" name="btConsultar" value="CONSULTAR" onclick="return Alerta()"> </div> </td> <td colspan="2" height="26" bgcolor="#666699"> <div align="center"><font size="2"><b> <input type="submit" name="btConsultar2" value="CONSULTAR" onclick="return Alerta2()"> </b></font></div> </td> </tr> </table> </form>Coloquei o código qse todo para identificar possiveis erros.
Link para o comentário
Compartilhar em outros sites
4 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.