Ir para conteúdo
Fórum Script Brasil
  • 0

Return Não Retorna


JJTam

Pergunta

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

  • 0

Fui refazendo as páginas aos poucos e cheguei no ponto do erro. Funciona normal até eu botar essa parte do código:

<%
Response.Expires = 1
dim agencia
agencia = Request.QueryString("AG")
if agencia="" then
  agencia=0
end if
dim tipoequip
tipoequip = Request.QueryString("TP")
if tipoequip="" then
  tipoequip=0
end if
Session("Modelo")=Request("TP")
%>

//criação de variaveis para ser utilizada na subrotina

<script Language="VBScript">
Sub cboTipoEqpto_OnChange()    
    Window.Navigate "ConsultaEqpto2.asp?TP=" & frmeqpto.cboTipoEqpto.options(frmeqpto.cboTipoEqpto.selectedIndex).value & "&AG=" & frmeqpto.cboUnidade.options(frmeqpto.cboUnidade.selectedIndex).value
End Sub
Sub TP_OnLoad(a)
   frmeqpto.cboTipoEqpto.selectedIndex=a
End Sub
</SCRIPT>

//crio uma subrotina para criar o combo cboModelo na hora que uma opção do como cboTipoEqpto for selecionado

<%response.write"<body bgcolor='#FFFFCC' text='#FFFFCC' onLoad='TP_OnLoad("&tipoequip&")'>"%>

//escrevo a tag <body> dinamicamente com asp para poder utilizar a variavel tipoequip que é criada lá em cima

<%
        if (tipoequip<>"") Then
          dim vSQL          
          if Trim(agencia) = 0 then
            vSQL = "SELECT * FROM tb_Modelo WHERE OID_TipoEqpto = '"& tipoequip &"' ORDER BY Descricao"            
          else
            vSQL = "select Distinct ID_Modelo, Descricao from tb_Modelo, tb_Equipamento "
            vSQL = vSQL + "where(OID_Unidade = "& agencia &") and (OID_Modelo = ID_Modelo) and (OID_TipoEqpto = "& tipoequip &")"
          end if         
          Set CStrazermodelo = Server.CreateObject("ADODB.Recordset")
          Set CStrazermodelo = Conn.Execute(vSQL)
          If CStrazermodelo.EOF Then
            Response.Write "<select name='cboModelo'><option value=0>Não existem Modelos."
           else
            CStrazermodelo.MoveFirst
            Response.write "<select name='cboModelo'><option value=0 selected>Selecione um Modelo..."
            Do While not CStrazermodelo.EOF
              response.write "<option value='" & CStrazermodelo("ID_Modelo") & "'>" & CStrazermodelo("Descricao")
              CStrazermodelo.MoveNext
            loop
          End If
          Response.write "</select>"
        end if
        %>

// codigo de criação dinamica do combo cboModelo

quando eu implemento essa parte começa a dar o erro: Tipos incompativeis: 'return'

Ao menos está parando o submit agora que refiz a pagina mas gostaria de eliminar esse erro que fica acusando no IE

Link para o comentário
Compartilhar em outros sites

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.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...