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

(Resolvido) Verifica Campo Ativo


Marcelo Mussi

Pergunta

Bem, vamos ver se conseguimos novamente... Sempre venho aqui e consigo resolver meus problemas.... *-*

Gostaria de um Script que verifica se o CAMPO esta preenchido "CASO" haja um BUTTON selecionado. Por Exemplo o código abaixo:

SCRIPT CRiADO

<script language="JavaScript" type="text/javascript">
function valida_dados (nomeform)
{
    if (nomeform.titulo.value=="")
        {
            alert ("Desculpe, mais é necessário o preenchimento do \"Título\".");
            nomeform.titulo.focus();
    
            return false;
    }
    if (nomeform.setor.value=="")
        {
            alert ("Desculpe, mais é necessário selecionar um \"Setor\".");
            nomeform.setor.focus();
    
            return false;
    }
    if (nomeform.dlink.value=="")
        {
            alert ("Desculpe, mais é necessário selecionar um \"Link Direto\".");
            nomeform.dlink.focus();
    
            return false;
    }
    return true;
}

function habilita()
{ 
var form = document.form;
        form.dlink.disabled = false;
        form.dlink.focus(); 
}
function dhabilita()
{ 
var form = document.form;
            form.dlink.disabled = true; 
            form.dlink.value='';
}
</script>
Formulário
<form id="Menu" name="form" method="post" action="?acao=incluir" onSubmit="return valida_dados(this)">

Título: <input name="titulo" type="text" class="form_1" id="titulo" size="25" maxlength="40" />

<input name="tipo" type="radio" class="form_1" onclick="habilita()" value="C"/> Conteúdo Link Direto
<input name="tipo" type="radio" class="form_1" onclick="dhabilita()" value="L"/>Listagem

Setor:
<select name="setor" class="form_1" id="select4">
<option selected="selected"></option>
<option value="1">Universo Expandido</option>
<option value="2">Sagas</option>
<option value="3">Técnologias</option>
<option value="4">Multimídia</option>
 </select>

Link Direto
<select name="dlink" class="form_1" disabled="true">
<option value="1">Link 1</option>
<option value="2">Link 2</option>
</select> 

<input name="Submit" type="submit" class="form_1" value="Incluir!" />

</form>

Então.... Vamos ao que interessa!!!!

Eu gostaria que quando o user selecionar o RADIO TIPO "C" ao liberar o "LINK DIRETO" ele exija que selecione uma opção de dentro do MENU DLINK, caso ele não selecione RADIO TIPO C o SCRIPT não solicite que selecione uma opção do MENU DLINK.

Obrigado

Link para o comentário
Compartilhar em outros sites

12 respostass a esta questão

Posts Recomendados

  • 0

Vou tentar dar uma simplificada.... Esse código não funciona, mais seria mais exatamente o que eu gostaria....

Se o "tipo" == "C" estivesse selecionado ele fizesse a verificação do "dlink"!?!?!

if (nomeform.tipo.value=="C")
        {
            if (nomeform.dlink.value=="")
            {
                alert ("Desculpe, mais é necessário selecionar um \"Link Direto\".");
                nomeform.dlink.focus();
    
                return false;
            }
    
            return false;
    }

Alguém pode me fazer esse código funcionar!?!?

Link para o comentário
Compartilhar em outros sites

  • 0

Deixe seu código HTML assim:

<form id="formulario" name="formulario" method="post" action="?acao=incluir" onsubmit="return valida_dados()">
Título:
<input name="titulo" type="text" class="form_1" id="titulo" size="25" maxlength="40" />
<input id="tipo" name="tipo" type="radio" class="form_1" onclick="habilita()" value="C" />
Conteúdo Link Direto
<input id="tipo" name="tipo" type="radio" class="form_1" onclick="dhabilita()" value="L" />Listagem
Setor:
<select name="setor" class="form_1" id="setor">
    <option selected="selected"></option>
    <option value="1">Universo Expandido</option>
    <option value="2">Sagas</option>
    <option value="3">Técnologias</option>
    <option value="4">Multimídia</option>
</select>
Link Direto
<select id="dlink" name="dlink" class="form_1" disabled="disabled">
    <option></option>
    <option value="1">Link 1</option>
    <option value="2">Link 2</option>
</select>
<input name="Submit" type="submit" class="form_1" value="Incluir!" />
</form>
As principais alterações que fiz foi para adicionar o atributo id aos elementos. Já o Javascript pode ficar assim:
function valida_dados() {
        var form = document.getElementById("formulario")
        if (form.titulo.value == "") {
            alert("Desculpe, mais é necessário o preenchimento do \"Título\".");
            form.titulo.focus();

            return false;
        }
        if (form.setor.value == "") {
            alert("Desculpe, mais é necessário selecionar um \"Setor\".");
            form.setor.focus();

            return false;
        }
        if (document.getElementById("tipo").value == "C") {
            if (document.getElementById("dlink").value == "") {
                alert("Desculpe, mais é necessário selecionar um \"Link Direto\".");
                nomeform.dlink.focus();

                return false;
            }
        }
    }

Link para o comentário
Compartilhar em outros sites

  • 0

Poxa cara.... EU não consegui =// Sou lesado em Java SCRIPT... =// Eu fiz as alteração que falou, mais não deu certo... Vou colocar abaixo o código da página se puder me ajudar novamente agradeço

<!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>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link href="config/estilos.css" rel="stylesheet" type="text/css" />

&lt;script language="JavaScript" type="text/javascript">
function valida_dados (nomeform)
{
	var form = document.getElementById("menu")
	if (nomeform.titulo.value=="")
		{
			alert ("Desculpe, mais é necessário o preenchimento do \"Título\".");
			nomeform.titulo.focus();

			return false;
	}
	if (nomeform.setor.value=="")
		{
			alert ("Desculpe, mais é necessário selecionar um \"Setor\".");
			nomeform.setor.focus();

			return false;
	}
	if (document.getElementById("tipo").value == "C") {

	     if (document.getElementById("dlink").value == "") {
         alert("Desculpe, mais é necessário selecionar um \"Link Direto\".");
         nomeform.dlink.focus();

         return false;
         }
    }
	return true;
}

function habilita()
{ 
var form = document.form;
		form.dlink.disabled = false;
		form.dlink.focus(); 
}
function dhabilita()
{ 
var form = document.form;
			form.dlink.disabled = true; 
			form.dlink.value='';
}
</script> 
<style type="text/css">
<!--
.style1 {color: #FF0000}
.style3 {color: #FF0000; font-weight: bold; }
-->
</style>
</head>
<?php body(); ?>
<table width="630" border="0" cellpadding="0" cellspacing="0">
<form id="Menu" name="form" method="post" action="?acao=incluir" onSubmit="return valida_dados(this)">

  <tr>
    <td height="30" colspan="2" align="center" class="topo"><strong>Adicionando Novo Menu!</strong></td>
  </tr>
  <tr>
  <td width="50%" height="170" align="center" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td height="25" align="center"><strong class="topo style1">Atenção Membros</strong></td>
      </tr>
      <tr>
        <td height="175"><blockquote class="topo">
          <p align="justify">Este setor trabalha conjunto aos conteúdos.</p>
          <p align="justify"><span class="style3">*</span> Caso selecione a opção "<strong>Conteúdo Link Direto</strong>" você deverá escolher na opção "<strong>Link Direto</strong>" qual o local onde deverá ser redirecionado o conteúdo.</p>
          <p align="justify">Caso escolha a opção "<strong>Listagem</strong>" fazer a configuração do conteúdo ao adiciona-lo no setor de "<strong>Conteúdos</strong>".</p>
        </blockquote></td>
      </tr>

    </table></td>
    <td width="50%" height="200" align="center" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td height="25" colspan="2" align="center"><strong class="topo">MENU</strong></td>
      </tr>
      <tr>
        <td width="30%" height="25" align="center" class="topo"><strong>Título:</strong></td>
        <td>  <span class="topo">
          <input name="titulo" type="text" class="form_1" id="titulo" size="25" maxlength="40" />
        </span></td>
      </tr>
      <tr>
        <td height="50" align="center" class="topo"><strong>Tipo:</strong></td>
        <td>  
          <input id="tipo" name="tipo" type="radio" class="form_1" onclick="habilita()" value="C"/> 
            Conteúdo Link Direto            <span class="style3">*</span><br />
              
            <input id="tipo" name="tipo" type="radio" class="form_1" onclick="dhabilita()" value="L" checked="checked"/>
            Listagem            </td>
      </tr>
      <tr>
        <td height="25" align="center" class="topo"><strong>Setor:</strong></td>
        <td>  
          <select name="setor" class="form_1" id="setor">
          <?php 

			for($setor = 1 ; $setor <= 4 ; $setor++) {

				$se = array ('','Universo Expandido','Sagas','Técnologias','Multimídia');

					echo "<option value=\"$se[$setor]\">$se[$setor]</option>";			
			}

		  ?>
          </select>
        </td>
      </tr>
      <tr>
        <td height="25" align="center" class="topo"><strong>Link Direto:</strong></td>
        <td>  
            <select id="dlink" name="dlink" class="form_1" disabled="true">
              <option selected="selected"></option>
            </select> 
            <span class="style3">*</span> </td>
      </tr>
      <tr>
        <td height="25" align="center" class="topo"><strong>Ativo</strong></td>
        <td><label>
            
          <input name="ativo" type="radio" class="form_1" value="S" />
          Sim</label>
          <label>
          <input name="ativo" type="radio" class="form_1" value="N" checked="checked" />
Não</label></td>
      </tr>
    </table>
      <input name="Submit" type="submit" class="form_1" value="Incluir!" />
    </td>

  </tr>

</form>
</table>

</body>
</html>

Link para o comentário
Compartilhar em outros sites

  • 0

Testei aqui e funcionou perfeitamente. Ao marcar Tipo como Conteúdo Link Direto, é feita a validação no combo Link Direto; do contrário, a verificação não é feita. É isso?

Obs.:

É preferível utilizar document.getElementById("id_do_elemento") a document.nome_do_elemento.

Link para o comentário
Compartilhar em outros sites

  • 0

Sim, esta certo o que disse, mais estou testando aqui e não funciona.. ele independente de estar selecionado o CONTEUDO LINK DIRETO esta solicitando o LINK DIRETO ao enviar =//

Veja: http://www.mussicorporation.com.br/system/...hp?sector=menus

o código esta idêntico ao post anterior... apenas mudei o que me recomendou acima!

Link para o comentário
Compartilhar em outros sites

  • 0

Foi mal, não postei completo.

Use esse código no lugar da validação:

var opt = 0
        var radioTipo = form.tipo
        for (var i = 0; i < radioTipo.length; i++) {
            if (radioTipo[i].checked) {
                opt = i
            }
        }

        if(radioTipo[opt].value == "C") {
Isso ao invés de:
document.getElementById("id_do_radio").value=="C"){
Obs.: Você digitou o id do formulário errado nessa linha:
var form = document.getElementById("menu")
O correto seria:
var form = document.getElementById("Menu")

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,3k
    • Posts
      652,5k
×
×
  • Criar Novo...