Solucionado (ver solução)
Solucionado
(ver solução)
6
respostas

Por que não consigo colocar o campo "nome" com preenchimento obrigatório

Boa tarde pessoal...

Eu estou desenvolvendo uma "agenda", porém não estou conseguindo colocar o campo "nome" como preenchimento obrigatório.

Peço ajuda!..

<?php include("conecta.php"); ?>
<html>
    <head>
        <meta charset="utf-8">
        <title>Agenda Pessoal</title>
        <script type="text/javascript">
            function validar(){
            var nome = formulario-principal.nome.value;
                if(nome == ""){
                    alert('Preencha o campo nome.');
                    formulario-principal.nome.focus();
                    return false;
                }
            }    
        </script>
    </head>

<body>

    <h1>Agenda Pessoal</h1>

    <form name="formulario-principal" action="adiciona-cliente.php" method="post"> 
        <div id="container-botoes">
            <input type="button" name="btn-incluir" value="Incluir">
            <input type="button"  name="btn-cancelar" value="Cancelar">
            <input type="button" name="btn-alterar" value="Alterar">
            <input type="submit" name="btn-gravar" value="submit" onclick=" return validar()">
            <input type="button" name="btn-limpar" value="Limpar">
            <input type="button" name="btn-excluir" value="Excluir">
            <input type="button" name="btn-sair" value="Sair">
        </div>

        <div id="mensagem_de_cadastramento">
            <h4>Cliente cadastrado com susseco!</h4>
        </div>


        <table border="3" name="campos">

            <tbody>
                <tr>
                <td>Nome:</td>
                <td><input class="estilotextarea" type="text" name="nome" size="40" autofocus placeholder="Digite o nome" onFocus="this.style.backgroundColor='#FFFBDD'" onblur="this.style.backgroundColor=''"><br/></td>

            </tr>
            <tr>
                <td>Endereço:</td>
                <td><input type="text" name="endereco" size="40" placeholder="Digite o endereço"onFocus="this.style.backgroundColor='#FFFBDD'" onblur="this.style.backgroundColor=''"><br/></td>
            </tr>
            <tr>
                <td>Telefone</td>
                <td><input type="text" name="telefone" size="15" placeholder="(00)0000-0000" onFocus="this.style.backgroundColor='#FFFBDD'" onblur="this.style.backgroundColor=''"><br/></td>
            </tr>
            </tbody>    

        </table>


    </form>
6 respostas

Você está verificando somente se não tem nada escrito.

Nesse caso, ele pode ter valor ainda nulo.

Tente assim:

    if (!nome) {
        alert('Preencha o campo nome.');
        formulario-principal.nome.focus();
        return false;
    }

Pedro, boa tarde!"...

Não o código não funcionou.

<head>
<script type="text/javascript">
            function validar(){
            var nome = formulario-principal.nome.value;
                if(!nome){
                    alert('Preencha o campo nome.');
                    formulario-principal.nome.focus();
                    return false;
                }
            }    
        </script>
</head>

incio do formulário

<form name="formulario-principal" action="adiciona-cliente.php" method="post">

Botão submit.

<input type="submit" name="btn-gravar" value="submit" onclick=" return validar()">

Boa tarde Max...

Estou achando que o problema está no seletor.

Tente colocar para debugar o elemento do formulário depois da linha de atribuição, assim:

var nome = formulario-principal.nome.value;
console.log(nome);

Posta o resultado aqui.

Eu identifiquei um problema com o nome do formulário. Faça a seguinte alteração:

 <form name="formulario_principal" action="" method="post">

A função de validar ficou assim:

 function validar(){
            var nome = formulario_principal.nome.value;
                if(nome == ""){
                    alert('Preencha o campo nome.');
                    formulario_principal.nome.focus();
                    return false;
                }
            }
solução!

Desculpem o retorno, retornei ao projeto hoje.

Eu peguei uma dica, criando uma arquivo js e inserindo o código

function validacao(){
    if(document.form.nome.value==""){
        alert("Por favor, preencha o campo nome.");
        document.form.nome.focus();
        return false;
       }
}

A minha página ficou assim

<?php include("conecta.php"); ?>
<html>
    <head>
        <meta charset="utf-8">
        <title>Agenda Pessoal</title>
        <link href="css/meu.css" rel="stylesheet">
        <script type="text/javascript" src="js/meu.js"></script>
        <script type="text/javascript" src="js/javascript.js"></script>
    </head>

<body>

    <h1>Agenda Pessoal</h1>

    <form name="form" method="post" action="adiciona-cliente.php" onSubmit="return validacao();"> 
        <div id="container-botoes">
            <input type="button" name="btn-incluir" value="Incluir" value="incluir">
            <input type="button"  name="btn-cancelar" value="Cancelar">
            <input type="button" name="btn-alterar" value="Alterar">
             <input type="submit" name="submit" value="Enviar">

            <!--onclick="return validar()"> -->
            <input type="button" name="btn-limpar" value="Limpar">
            <input type="button" name="btn-excluir" value="Excluir">
            <input type="button" name="btn-sair" value="Sair">
        </div>

        <div id="mensagem_de_cadastramento">
            <h4>Cliente cadastrado com susseco!</h4>
        </div>


        <table border="3" name="campos">

            <tbody>
            <tr>
                <td>Nome:</td>
                <td><input class="estilotextarea" type="text" name="nome" size="40" placeholder="Digite o endereço"onFocus="this.style.backgroundColor='#FFFBDD'" onblur="this.style.backgroundColor=''"><br/></td>

            </tr>
            <tr>
                <td>Endereço:</td>
                <td><input type="text" name="endereco" size="40" placeholder="Digite o endereço"onFocus="this.style.backgroundColor='#FFFBDD'" onblur="this.style.backgroundColor=''"><br/></td>
            </tr>
            <tr>
                <td>Telefone</td>
                <td><input type="text" name="telefone" size="15" placeholder="(00)0000-0000" onFocus="this.style.backgroundColor='#FFFBDD'" onblur="this.style.backgroundColor=''"><br/></td>
            </tr>
            </tbody>    

        </table>


    </form>


        <table id="tabela" border="1">
                    <caption><h3>Dados Cadastrados<h3></caption>
                    <tr>
                        <th id="celula_nome" with="250" >Nome</th> 
                        <th id="celula_endereco" witdh="250">Endereço</th>
                        <th id="celula_telefone" witdh="100">Telefone</th>
                        <th id="celular_marcador" with="50">Marcar</th>
                    </tr>
        </table>            

    <?php

        $resultado = mysqli_query($conexao, "select * from cliente");

        while($clientes = mysqli_fetch_assoc($resultado)) {?>

            <table id="tabela_dados">
                <tr>
                    <td id="td_nome">    
                        <?php echo $clientes['nome']; ?>
                    </td>
                    <td id="td_endereco">    
                        <?php echo $clientes['endereco']; ?>
                    </td>
                    <td id="td_telefone">
                        <?php echo $clientes['telefone'] ?>
                    </td>
                    <td id="td_marcador">
                        <input type="radio" name="nome_do_grupo" value="valor"/> 
                    </td>
                <tr>        
            </table>    
        <?php    
        }

    ?>

</body>

</html>

Obrigado pessoal, eu consegui resolver com o código acima.!....

Até mais....!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software