Estou montando um formulário para o meu site, em que as empresas se cadastram.
Já catei muitos scripts para validação e máscaras, mas ainda estão faltando alguns que não consegui. Se alguém puder dar uma mãozinha:
Preciso validar o email de forma que o script enconte o "@" e o "."
Preciso validar o checkbox.
Preciso validar os selects.
Até encontrei scripts para validar email, mas ao juntar com os existentes ele não funcionou.
Como está o código agora:
<script language="javascript">function formCheck(formobj){ // Nome dos campos que precisam ser preenchidos! var fieldRequired = Array("nome","email","endereco","numero", "bairro", "cidade", "telefone", "mensagem"); // Descrição dos campos como devem aparecer na mensagem var fieldDescription = Array("Seu Nome", "Email", "Endereço", "Número", "Bairro", "Cidade", "Telefone", "Mensagem"); // Mensagem a ser exibida para o usuário var alertMsg = "Por favor, preencha os seguintes campos:\n"; var l_Msg = alertMsg.length; for (var i = 0; i < fieldRequired.length; i++){ var obj = formobj.elements[fieldRequired[i]]; if (obj){ switch(obj.type){ case "select-one": if (obj.selectedIndex == -1 || obj.options[obj.selectedIndex].text == ""){ alertMsg += " - " + fieldDescription[i] + "\n"; } break; case "select-multiple": if (obj.selectedIndex == -1){ alertMsg += " - " + fieldDescription[i] + "\n"; } break; case "text": case "textarea": if (obj.value == "" || obj.value == null){ alertMsg += " - " + fieldDescription[i] + "\n"; } break; default: } if (obj.type == undefined){ var blnchecked = false; for (var j = 0; j < obj.length; j++){ if (obj[j].checked){ blnchecked = true; } } if (!blnchecked){ alertMsg += " - " + fieldDescription[i] + "\n"; } } } } if (alertMsg.length == l_Msg){ return true; }else{ alert(alertMsg); return false; }}// --></script>
O formulário:
<form id="comentform" name="cadastro" onsubmit="return formCheck(this);" method="post" action="cadastro.php"> <fieldset> <label>Nome da Empresa/ Profissional:</label> <input type="text" name="nome" maxlength="60"> <label>Site:<span>(campo opcional)</span></label> <input name="site" type="text" value="http://" maxlength="70" /> <label>E-mail:</label> <input type="text" name="email" maxlength="60"> <label>Rua/Avenida:</label> <input type="text" name="endereco" maxlength="90"> <label>Número e Complemento:</label> <input type="text" name="numero" maxlength="16"> <label>Bairro:</label> <input type="text" name="bairro" maxlength="30" > <label>Cidade:</label> <input type="text" name="cidade" maxlength="30" > <label>Estado ou País:</label> <select name="estado" size="1" > <option value="" label="Selecione">Selecione</option> <option value="AC" label="Acre" >Acre</option> <option value="AL" label="Alagoas">Alagoas</option> <option value="AM" label="Amazonas" >Amazonas</option> <option value="AP" label="Amapá">Amapá</option> <option value="BA" label="Bahia">Bahia</option> <option value="CE" label="Ceará" >Ceará</option> <option value="DF" label="Distrito Federal">Distrito Federal</option> <option value="ES" label="Espírito Santo" >Espírito Santo</option> <option value="GO" label="Goiás">Goiás</option> <option value="MA" label="Maranhão" >Maranhão</option> <option value="MT" label="Mato Grosso">Mato Grosso</option> <option value="MS" label="Mato Grosso do Sul" >Mato Grosso do Sul</option> <option value="MG" label="Minas Gerais">Minas Gerais</option> <option value="PA" label="Pará" >Pará</option> <option value="PB" label="Paraíba">Paraíba</option> <option value="PR" label="Paraná" >Paraná</option> <option value="PE" label="Pernambuco">Pernambuco</option> <option value="PI" label="Piauí" >Piauí</option> <option value="RJ" label="Rio de Janeiro" >Rio de Janeiro</option> <option value="RN" label="Rio Grande do Norte">Rio Grande do Norte</option> <option value="RS" label="Rio Grande do Sul" >Rio Grande do Sul</option> <option value="RO" label="Rondônia">Rondônia</option> <option value="RR" label="Roraima" >Roraima</option> <option value="SC" label="Santa Catarina">Santa Catarina</option> <option value="SP" label="São Paulo" >São Paulo</option> <option value="SE" label="Sergipe">Sergipe</option> <option value="TO" label="Tocantins" >Tocantins</option> </select> <label>Telefone:</label> <input type="text" name="telefone" onkeypress="return txtBoxFormat(this, '(99)9999-9999', event);" maxlength="14" /> <label>Fax:<span>(campo opcional)</span></label> <input type="text" name="fax" onkeypress="return txtBoxFormat(this, '(99)9999-9999', event);" maxlength="14" /> <label>Categoria:</label> <select name="categoria" size="1" > <option value="">Selecione</option> <option value="Engenheiros">Jardineiros</option> <option value="Arquitetos">Paisagistas</option> <option value="Pedreiros">Agrônomos</option> <option value="Ferragens">Floriculturas</option> <option value="Fornecedores">Fornecedores</option> </select> <label>Descrição de produtos ou serviços: <textarea name="mensagem" onKeyDown="textCountecriçõesr(this.form.mensagem,this.form.remLentext,225);" onKeyUp="textCounter(this.form.mensagem,this.form.remLentext,225);" class="descrit"></textarea>Faltam <input type="box readonly" name="remLentext" size="3" value="225" class="mini"> de 225.</label> <label>Aviso Legal:</label> <textarea name="textarea" readonly="readonly" wrap="virtual" class="aviso">AVISO LEGAL: Blá, blá, blá.</textarea> <label><input type="checkbox" name="aceito" value=""/> Li e concordo com o Aviso Legal</label> <input type="hidden" name="required" value="nome,email,endereco,cidade,telefone,mensagem, checkbox" /> <input type="submit" value="Enviar" /> </fieldset> </form>
Edição feita por: quelizinha, 24/08/2007, 09:49.