Ir para conteúdo

POWERED BY:

Arquivado

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

Luiz Vieira

Campo obrigatório em javascript

Recommended Posts

Pessoal, tenho um form em asp que faz referência à um arquivo .js onde está o teste de validação dos campos.

O problema é o seguinte: há um campo text que precisa ser preenchido caso um dos dois option button seja selecionado.

 

No meu caso o campo é:

Portador de deficiência física? Sim Não (o sim e o não são option buttons)

 

Código:

<td width="35%">É portador de deficiência

física?*<br> <input type="radio" name="fl_handicap" value="1">

sim <input type="radio" name="fl_handicap" value="0">

não</td>

<td width="65%">Indique a natureza de sua deficiência<br>

<input name="ds_handicap" type="text" size="40" maxlength="100">

</td>

 

Se o sim estiver marcado, o campo logo a seguir (ds_handicap) deverá ser preenchido, e se estiver vazio uma msg deve surgir.

 

Tentei usar o seguinte código no arquivo .js, mas não funcionou:

 

if (fl_handicap.value == '1') and (ds_handicap.value == ''){

alert("Por favor, informe sua deficiência física.");

ds_handicap.focus();

return false;

}

 

Alguém pode ajudar? http://forum.imasters.com.br/public/style_emoticons/default/cry.gif

Valeu!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso é Javascript... mas é mais ou menos assimvocê precisa colocar o nome do seu form.campo.value... exemplo:<form method='post' name='formulario' action=''>o javascript deverá ser:if (formulario.fl_handicap.value == '1') and (formulario.ds_handicap.value == ''){

Compartilhar este post


Link para o post
Compartilhar em outros sites

Só você adaptar a sua necessidade ..

 

 

JS ...

<script language="javascript"> <!-- function myForm_onSubmit() { <!-- var Crea1 = document.myForm.crea1.value var Crea2 = document.myForm.crea2.checkedvar Crea3 = document.myForm.crea3.checkedif (Crea1 =="" && Crea2 =="" && Crea3 =="" ) { alert("Uma Opção do Crea Deve Estar Marcada ou Digitada !"); return false} if (Crea1 !="" && (Crea2 !="" || Crea3 !="" )) { alert("Marque Apenas uma Opção Para Crea"); return false} if (Crea2 !="" && Crea3 !="" ){ alert("Marque Apenas uma Opção Para Crea"); return false} var dtAdmissao = document.myForm.dataAdmissao.valueif (dtAdmissao =="") { alert("Você Deixou a Data de Admissão Em Branco!"); return false} var x = document.myForm.dataAdmissao.value.lengthif (x <= 9) { alert("Data Inválida !"); return false} }//-->  </script>

 

Forumulário...

 

<form method="GET" action="ceq_01_form_valida.asp" name="myForm" onSubmit="return myForm_onSubmit()"><div align="center">  <table border="1" cellpadding="3" cellspacing="0" width="608">	<center>	<tr>	  <td bgcolor="#EAE7D6">	  				<table border="0" id="table1" cellpadding="2" width="588" cellspacing="0">					<tr>						<td width="87"><b><font face="Trebuchet MS" size="2">						Cidade:</font></b></td>						<td width="131">						<input type="text" name="cidade" size="24" tabindex="1" style="font-family: Trebuchet MS; font-size: 8pt; font-weight: bold"></td>						<td width="20" colspan="2"> </td>						<td width="146"><b><font face="Trebuchet MS" size="2">						Data da Certificação:</font></b></td>						<td width="110">						<input type="text" name="dataCertificacao" size="20" tabindex="13" style="font-family: Trebuchet MS; font-size: 8pt; font-weight: bold"></td>					</tr>					<tr>						<td width="87"><b><font face="Trebuchet MS" size="2">						Localidade:</font></b></td>						<td width="131">						<select size="1" name="localidade" tabindex="2">						<option>BHE</option>						<option>DVL</option>						<option>JFA</option>						<option>VGA</option>						</select></td>						<td width="20" colspan="2"> </td>						<td width="146"><b><font face="Trebuchet MS" size="2">						Número da Carteira:</font></b></td>						<td width="110">						<input type="text" name="numeroCarteira" size="20" tabindex="14" style="font-family: Trebuchet MS; font-size: 8pt; font-weight: bold"></td>					</tr>					<tr>						<td width="87"><b><font face="Trebuchet MS" size="2">						Geografia:</font></b></td>						<td width="131">						<input type="text" name="geografia" size="24" tabindex="3" style="font-family: Trebuchet MS; font-size: 8pt; font-weight: bold"></td>						<td width="20" colspan="2"> </td>						<td width="146"><b><font face="Trebuchet MS" size="2">						Tipo:</font></b></td>						<td width="110">						<input type="text" name="tipo" size="20" tabindex="15" style="font-family: Trebuchet MS; font-size: 8pt; font-weight: bold" value="Dados"></td>					</tr>					<tr>						<td width="87"><b><font face="Trebuchet MS" size="2">						Empresa:</font></b></td>						<td width="131">						<input type="text" name="empresa" size="24" tabindex="4" style="font-family: Trebuchet MS; font-size: 8pt; font-weight: bold"></td>						<td width="20" colspan="2"> </td>						<td width="146"><b><font face="Trebuchet MS" size="2">						Nível Técnico</font></b></td>						<td width="110">						<input type="text" name="nivelTecnico" size="20" tabindex="16" style="font-family: Trebuchet MS; font-size: 8pt; font-weight: bold"></td>					</tr>					<tr>						<td width="87"><b><font face="Trebuchet MS" size="2">						Nome: </font></b></td>						<td width="131">						<input type="text" name="nome" size="24" tabindex="5" style="font-family: Trebuchet MS; font-size: 8pt; font-weight: bold"></td>						<td width="20" colspan="2"> </td>						<td width="146"><b><font face="Trebuchet MS" size="2">						Especialização:</font></b></td>						<td width="110">						<input type="text" name="especializacao" size="20" tabindex="17" style="font-family: Trebuchet MS; font-size: 8pt; font-weight: bold"></td>					</tr>					<tr>						<td width="87"><b><font face="Trebuchet MS" size="2">CPF:</font></b></td>						<td width="131">						<input type="text" name="cpf" size="24" tabindex="6" style="font-family: Trebuchet MS; font-size: 8pt; font-weight: bold"></td>						<td width="20" colspan="2"> </td>						<td width="146"><b><font face="Trebuchet MS" size="2">						Inscrito:</font></b></td>						<td width="110">						<select size="1" name="inscrito" tabindex="18">						<option>Selecione</option>						<option>Aguard. Providência</option>						<option>Certificado</option>						<option>Não Estuda</option>						<option>Não Possui Curso Téc.</option>						<option>Reciclagem</option>						</select></td>					</tr>					<tr>						<td width="87" style="border-left: 1px solid #000000; border-top: 1px solid #000000; border-bottom: 1px solid #000000">						<b><font face="Trebuchet MS" size="2">Crea:</font></b></td>						<td width="131" style="border-right: 1px solid #000000; border-top: 1px solid #000000; border-bottom: 1px solid #000000">						<input type="text" name="crea1" size="24" tabindex="7" style="font-family: Trebuchet MS; font-size: 8pt; font-weight: bold"><br>						<b><font face="Trebuchet MS" size="2">Não Aplicável						<input type="checkbox" name="crea2" value="ON" tabindex="8"><br>						Não Tem Crea						<input type="checkbox" name="crea3" value="ON" tabindex="9"></font></b></td>						<td width="20" colspan="2"> </td>						<td width="146"><b><font face="Trebuchet MS" size="2">						Data de Admissão:</font></b></td>						<td width="110">						<input type="text" name="dataAdmissao" size="10" tabindex="19" style="font-family: Trebuchet MS; font-size: 8pt; font-weight: bold" onkeypress="return txtBoxFormat(document.myForm, 'dataAdmissao', '99/99/9999', event);" onKeyUp="return autoTab(this, 10, event);" ><i><font face="Trebuchet MS" size="1" color="#008000">dd/mm/aaaa</font></i></td>					</tr>					<tr>						<td width="87"><b><font face="Trebuchet MS" size="2">						Curso: </font></b></td>						<td width="131">						<input type="text" name="curso" size="24" tabindex="10" style="font-family: Trebuchet MS; font-size: 8pt; font-weight: bold"></td>						<td width="20" colspan="2"> </td>						<td width="146"><b><font face="Trebuchet MS" size="2">						Data de Demissão:</font></b></td>						<td width="110">						<input type="text" name="dataDemissao" size="10" tabindex="20" style="font-family: Trebuchet MS; font-size: 8pt; font-weight: bold" onkeypress="return txtBoxFormat(document.myForm, 'dataDemissao', '99/99/9999', event);" onKeyUp="return autoTab(this, 10, event);" ><i><font face="Trebuchet MS" size="1" color="#008000">dd/mm/aaaa</font></i></td>					</tr>					<tr>						<td width="87"><b><font face="Trebuchet MS" size="2">						Escolaridade:</font></b></td>						<td width="131">						<input type="text" name="escolaridade" size="24" tabindex="11" style="font-family: Trebuchet MS; font-size: 8pt; font-weight: bold"></td>						<td width="20" colspan="2"> </td>						<td width="146"><b><font face="Trebuchet MS" size="2">						Transferido:</font></b></td>						<td width="110">						<select size="1" name="transferido" tabindex="21">						<option>SIM</option>						<option>NAO</option>						</select></td>					</tr>					<tr>						<td width="87"><b><font face="Trebuchet MS" size="2">						Instituição:</font></b></td>						<td width="131">						<input type="text" name="instituicao" size="24" tabindex="12" style="font-family: Trebuchet MS; font-size: 8pt; font-weight: bold"></td>						<td width="20" colspan="2"> </td>						<td width="146"><b><font face="Trebuchet MS" size="2">						Data de Transferência:</font></b></td>						<td width="110">						<input type="text" name="dataTransferencia" size="20" tabindex="22" style="font-family: Trebuchet MS; font-size: 8pt; font-weight: bold"></td>					</tr>					<tr>						<td width="247" colspan="3"><b>						<font face="Trebuchet MS" size="2">Observação:</font></b></td>						<td width="247" colspan="3">						<textarea rows="4" name="observacao" cols="38" tabindex="23"></textarea></td>					</tr>				</table>	  </td>	</tr>	<tr>	  <td bgcolor="#B1CAD1">	  				<p align="right">				<input type="submit" value=" Adicionar " name="B1" style="font-family: Trebuchet MS; font-size: 10 pt; font-weight: bold" tabindex="24">	  </td>	</tr>  </table></div></form>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Isso é Javascript... mas é mais ou menos assimvocê precisa colocar o nome do seu form.campo.value... exemplo:<form method='post' name='formulario' action=''>o javascript deverá ser:if (formulario.fl_handicap.value == '1') and (formulario.ds_handicap.value == ''){

Ultra, valeu pela ajuda, mas não creio ser necessário o nome do form, pois nos outros campos, os testes estão funcionando bem sem precisar citar o nome do form. No mais, o que você escreveu está igual ao que eu estava usando, mas não funciona.Valeu mesmo assim :D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera, não está funcionando.Estou colocando assim agora: if (fl_handicap.value =='0' && ds_handicap.value ==''){ alert("Por favor, informe qual a deficiência física da qual é portador."); ds_handicap.focus(); return false; } O javascript pula direto esse trecho e já vai testar outros campos.Com os campos do tipo texto esse tipo de código funciona na boa, mas com o tipo option button nem vai...

Compartilhar este post


Link para o post
Compartilhar em outros sites

aki tenho outra:

 

function Verifica(objForm, strField, evtKeyPress){	var valor = "";	var id = "";	var radio = "";	radio = document.getElementsByName("optId_t_pessoa");)//optId_t_pessoa = radio button		for(var i=0;i<radio.length;i++) 	{		if(radio[i].checked) 		{			valor = radio[i].value;			id = radio[i].id;		}	}	if (valor == '1')	{		...		}	else	{		...	}}

uso, no campo a seguir:

onkeypress="return Verifica(this.form, this.name, event);"

teste e veja o resultado http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Galera, nada funcionou até agora...Vejam, aqui está o pedaço do form onde ficam os dois radio button e a text box que estão denrto da rotina de teste:

<tr> <td colspan="3"><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="35%">É portador de deficiência física?*<br> <input name="fl_handicap" type="radio" value="1"> sim    <input name="fl_handicap" type="radio" value="0" checked> não</td> <td width="65%">Indique a natureza de sua deficiência<br> <input name="ds_handicap" type="text" size="40" maxlength="100"> </td> </tr>

E aqui segue o pedaço da rotina de teste do arquivo de javascript que fiz, mas não está funcionando com esses campos. COm os outro funcionam numa boa, mas não está funfando com esses:

if ((fl_handicap.checked) && (ds_handicap.value == '')){ alert("Por favor, informe qual a deficiência física da qual é portador."); ds_handicap.focus(); return false; }

Estou com o cliente em cima de mim cobrando isso... Ajudem aí se puderem! http://forum.imasters.com.br/public/style_emoticons/default/cry.gif Valeu!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

O nome dos 2 inputs não pode ser o mesmo amigo.

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.