Ir para conteúdo

POWERED BY:

Arquivado

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

marvi

Gerar uma alerta se o campo estiver vazio

Recommended Posts

Pessoal, estou tentando fazer algo, mas não estou conseguindo para um formulário clínco:

Quero uma opção do cliente informar o uso de alguma medicação. Da seguinte forma:

 

Está usando algum medicamento?

 

( ) SIM ( ) Não - QUAL?

 

Caso responda que sim será necessário que informe o nome da medicação. O sistema deverá impedir o prosseguimento do cadastro caso não informe a medicação. Deve exibir uma alerta se o campo QUAL estiver vazio.

Aí fiz o seguinte, mas não deu certo... está praticamente pronto, só não sei como interagir isso, veja;

 

<script> 


function ValidaFormulario () {

if (document.form.nome.value==""){ 
alert("Informe a medicação"); 
document.form.nome.focus(); 

return false;
}

return true;
}
// -->

</script>


<script type="text/javascript">

function medico(Medicamento) {
if(Medicamento=="Sim") { 

document.write("<form method='POST' action='--WEBBOT-SELF--' name='form' onSubmit='return ValidaFormulario();'>")

}
if(Medicamento=="Não") {

}
}
</script>


<input type="radio" value="Sim" name="Medicamento" onclick="medico('Sim')">
</font><input type="radio" value="Não" name="Medicamento" onclick="medico('Não')">
<font face="Arial Narrow" size="2" color="#696969">Qual? </font><font face="verdana" color="#422a09" size="-2">
<input class="formcolor" style="BORDER-RIGHT: #7b7a64 1px solid; BORDER-TOP: #7b7a64 1px solid; FONT-SIZE: 10px; BORDER-LEFT: #7b7a64 1px solid; BORDER-BOTTOM: #7b7a64 1px solid; FONT-FAMILY: Verdana" maxLength="100" size="33" name="nome">



<font color="#7b7a64" size="1" face="Arial Narrow">
<input class="form" style="border:1px solid #FFFFFF; FONT-SIZE: 10px; COLOR: #FFFFFF; FONT-FAMILY: Verdana; BACKGROUND-COLOR: #1B57A0" type="submit" value="Cadastrar Agendamento" border="0" name="B1" height="19" width="59">
<input class="form" style="border:1px solid #FFFFFF; FONT-SIZE: 10px; COLOR: #FFFFFF; FONT-FAMILY: Verdana; BACKGROUND-COLOR: #1B57A0" type="reset" value="Limpar" border="0" name="B2" height="19" width="59"></font></form>

Alguém sabe como fazer isso?

 

Obrigado!

Compartilhar este post


Link para o post
Compartilhar em outros sites

A única coisa que é realmente necessário saber nesse caso é como tratar as opções do RadioButton em JavaScript, para testarmos posteriormente se determinada opção estará selecionada ou não.

 

Por exemplo, imagine o seguinte caso:

 

<input type="radio" name="radio1" value="01"> Opção 01
<br><input type="radio" name="radio1" value="02"> Opção 02
<br><input type="radio" name="radio1" value="03"> Opção 03
<br><input type="radio" name="radio1" value="04"> Opção 04

Em JavaScript, para sabermos se, por exemplo, qual a opção de um determinado grupo RadioButton é que está checada, basta fazermos o seguinte:

 

if(document.form.radio1[2].checked) {
//Código a ser executado caso o 3º RadioButton esteja checado -> Corresponde à opção 03
}

Note que:

document.form.radio1[0].checked -> Corresponde ao 1º botão radio;

document.form.radio1[1].checked -> Corresponde ao 2º botão radio;

... e assim sucessivamente.

 

Logo, no seu caso poderíamos simplesmente fazer o seguinte:

(Copie todo o código a seguir e cole no seu editor HTML)

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>

<head>
	<meta http-equiv="content-type" content="text/html; charset=iso-8859-1">
	<meta name="author" content="by Klonder">

	<title>Formulário clínico</title>
	
<script language="JavaScript">
<!--

function caixatexto(opcao) {
	var caixa = document.getElementById('medic');
	
	if (opcao == 'fechar') {
		caixa.style.visibility = "hidden";
	}else{
		caixa.style.visibility = "visible";
		var nomeMedicamento;
	}
}

function validarForm() {
	if(document.form1.testeMedicamento[1].checked) {
		if (document.form1.nomeMedicamento.value==""){
			alert("Por favor, insira o nome do medicamento!");
			document.form1.nomeMedicamento.focus();
			return false;
		}else{
			return true;	
		}		
	}

}

-->
</script>

</head>

<body>
<form name="form1" action="pagina.php"  method="post" onsubmit="return validarForm();">
Você utiliza algum tipo de medicamento?
<br><input type="radio" name="testeMedicamento" value="nao" onClick="caixatexto('fechar')"> Não
<br><input type="radio" name="testeMedicamento" value="sim" onClick="caixatexto('abrir')"> Sim
<span id="medic" style="visibility:hidden">   Nome do medicamento: <input type="text" id="nomeMedicamento" value=""></span>
<br><br>
<input type="submit" value="Enviar">
</form>
</body>
</html>

Fiz pequenos testes e não retornaram erros. Se ocorrer algum erro que eu não tenha notado, por favor, entre contato.

 

Abraços!

klonder

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.