Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

ZecaLoteiro

[Resolvido] JavaScript Simples

Recommended Posts

Bom dia Srs, tenho o seguinte controle em minha página.

 

<asp:TextBox ID="teste" runat="server">*TESTE*</asp:TextBox>

 

E preciso validá-lo.

 

Porém, quando entro na função de validação não consigo localizar o controle...

estou usando o seguinte código:

 

<script>
       function verificaUltimaSolicitacao() {
           alert(document.getElementById("teste").value)
       }
</script>

 

Mas está me retornando o seguinte erro:

Microsoft JScript runtime error: Object required

 

Alguém pode me ajudar? Não conheço nada de JScript.....

Thanx.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seguinte,

 

É um formulário de solicitação, porém, tenho um campo (teste, readOnly) que traz a informação da ultima solicitação.

Se a ultima solicitação foi feita a menos de 5 dias atrás, então o usuário deve ser alertado, podendo confirmar ou não o envio da nova solicitação.

 

Pensei em tratar isso com java script. Há outra forma??

Valew pela atenção.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Mas no meu caso, só quero exibir um MessageBox pro usuário.... e até onde eu sei, a única forma de fazer isso é por java Script.

Os valivadadores do VB fazem com que o usuário preencha novamente o form com a informação correta.....

 

Ou tem alguma outra forma de exibir esse Confirm dialog ?

 

Thanx

Compartilhar este post


Link para o post
Compartilhar em outros sites

Te indico usar o CustomValidator mesmo, como o Daniel indicou.

 

Dê uma olhada nesse link, lá tem um exeplo que você poderia usar.

 

Abraços!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Te indico usar o CustomValidator mesmo, como o Daniel indicou.

 

Dê uma olhada nesse link, lá tem um exeplo que você poderia usar.

 

Abraços!

 

Obrigado...

Mas nesse tutorial não tem como utilizar um ConfirmBox....

A validação é para o usuário corrigir o que foi digitado, no meu caso, não foi o usuário que digitou, e nem pode corrigir a informação.

Só queria alertá-lo e pedir a confirmação dele, dependendo de um valor no banco de dados.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia Srs, tenho o seguinte controle em minha página.

 

<asp:TextBox ID="teste" runat="server">*TESTE*</asp:TextBox>

 

E preciso validá-lo.

 

Porém, quando entro na função de validação não consigo localizar o controle...

estou usando o seguinte código:

 

<script>
       function verificaUltimaSolicitacao() {
           alert(document.getElementById("teste").value)
       }
</script>

 

Mas está me retornando o seguinte erro:

Microsoft JScript runtime error: Object required

 

Alguém pode me ajudar? Não conheço nada de JScript.....

Thanx.

 

Boa tarde Zeca, você pode fazer essa sua validação no codebehind da sua página.

 

No evento onde você carrega os dados, pode inserir a seguinte validação exemplo, Supondo que seja no Page_Load.

Você disse que precisa validar se a solicitação foi feita a menos de 5 dias, então vamos ao código.

 

C#

protected void Page_Load(EventArgs e, object sender)
{
//Carrega os campos que quer carregar.

    //Valida se hoje faz menos de 5 dias. caso no quinto dia seja necessário exibir mensagem, substituir o operador "<" por "<="
    if (DateTime.Now < Convert.ToDateTime(teste.Text).AddDays(5))
        Response.Write("<script>alert('Mensagem');</script>");
}

 

Visual Basic.NET

Protected Sub Page_Load(e As EventArgs, sender As Object)
'Carrega os campos que quer carregar.

'Valida se hoje faz menos de 5 dias. caso no quinto dia seja necessário exibir mensagem, substituir o operador "<" por "<="
If DateTime.Now < Convert.ToDateTime(teste.Text).AddDays(5) Then
	Response.Write("<script>alert('Mensagem');</script>")
End If
End Sub

 

Bom, esse foi meu primeiro post no fórum. Espero ter ajudado.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Bom dia Srs, tenho o seguinte controle em minha página.

 

<asp:TextBox ID="teste" runat="server">*TESTE*</asp:TextBox>

 

E preciso validá-lo.

 

Porém, quando entro na função de validação não consigo localizar o controle...

estou usando o seguinte código:

 

<script>
       function verificaUltimaSolicitacao() {
           alert(document.getElementById("teste").value)
       }
</script>

 

Mas está me retornando o seguinte erro:

Microsoft JScript runtime error: Object required

 

Alguém pode me ajudar? Não conheço nada de JScript.....

Thanx.

 

Boa tarde Zeca, você pode fazer essa sua validação no codebehind da sua página.

 

No evento onde você carrega os dados, pode inserir a seguinte validação exemplo, Supondo que seja no Page_Load.

Você disse que precisa validar se a solicitação foi feita a menos de 5 dias, então vamos ao código.

 

C#

protected void Page_Load(EventArgs e, object sender)
{
//Carrega os campos que quer carregar.

    //Valida se hoje faz menos de 5 dias. caso no quinto dia seja necessário exibir mensagem, substituir o operador "<" por "<="
    if (DateTime.Now < Convert.ToDateTime(teste.Text).AddDays(5))
        Response.Write("<script>alert('Mensagem');</script>");
}

 

Visual Basic.NET

Protected Sub Page_Load(e As EventArgs, sender As Object)
'Carrega os campos que quer carregar.

'Valida se hoje faz menos de 5 dias. caso no quinto dia seja necessário exibir mensagem, substituir o operador "<" por "<="
If DateTime.Now < Convert.ToDateTime(teste.Text).AddDays(5) Then
	Response.Write("<script>alert('Mensagem');</script>")
End If
End Sub

 

Bom, esse foi meu primeiro post no fórum. Espero ter ajudado.

 

Muito Obrigado pela resposta....

Eu consigo tratar a resposta do usuário? Pq preciso de um CONFIRM... só vou avisar o usuário, se ele quiser ele envia o formulário...

Atualmeente eu resolvi, elimintando o java script, e fazendo com uma msg em vermelho na página mesmo...

Mas a dúvida permanece...

 

Obrigado pela resposta. Show.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você poderia fazer da seguinte forma.

Vamos supor que você vai fazer essa validação quando o usuário clicar em um botão.

Ficaria mais ou menos assim:

 


  //Na sua página aspx coloque um componenete hidden

  //No onclick do Botão você chama a função que vai validar:  

  <asp:Button id="Button" onclientclick="Confirmation()"....></asp:Button>

  function Confirmation()
  {
      var data = new Date();

      var dia = (document.getElementById("<%=TextBox.ClientID%>").value.substring(0,2)); 
      var mes = (document.getElementById("<%=TextBox.ClientID%>").value.substring(3,5)); 
      var ano = (document.getElementById("<%=TextBox.ClientID%>").value.substring(6,10)); 

      var diaAtual = data.getDay(); // 0-6 (zero = domingo)
      var mesAtual = data.getMonth(); // 0-11 (zero = janeiro)
      var anoAtual = data.getFullYear(); // 4 dígitos

      var dataMenor = false;

      if(ano == anoAtual ...)//Aqui você faz a verificação, pra ver se a data corresponde a 5 dias atrás
      {
          dataMenor = true;
      }

      if(dataMenor){
         var result = confirm("Gostaria de mandar uma notificação?");
         if (result == true)
         {
             document.getElementById("<%=HiddenField.ClientID%>").value = "yes";
         }
         else
         {
             document.getElementById("<%=HiddenField.ClientID%>").value = "no";
         }
         return true;
      }
  }

  //No CodeBehind, no envento Click do Botão você verifica o valor do Hidden, se for "yes", aí você manda a notificação....

 

Te garanto que essa não é a melhor forma de fazer, mas pode ser que funcione...é só uma ideia!

Um link com exemplos de validação de Data...

 

...

Compartilhar este post


Link para o post
Compartilhar em outros sites

pode não ser a melhor solução. Mas, resolve o que você quer com certeza.

Quando você cria um objeto <asp:textbox id="teste"...> o codigo gerado no navegador fica com o ID de outro nome. um nome fixo, então nao tem problema.

Use esse nome criado no seu javascript e assim se resolverá.

 

Para voce pegar o nome criado, basta abrir a aplicacao no navegador e ir em código-fonte do proprio navegador.

 

abraços

Compartilhar este post


Link para o post
Compartilhar em outros sites

Valeeeu pelas respostas...

 

É, consegui identificar o nome do controle...

O VB utiliza um nome diferente do que eu setei no ID, por isso não localizava...

Assim funcionou!

 

Muito obrigado a todos!

Resolvido!

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.