Ir para conteúdo

POWERED BY:

Arquivado

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

alinekelly

Validar Radio Buttons

Recommended Posts

Gentem, Já procurei na net código para tal e não acho, ou melhor , acho mas não cunfiona , o ultimo que coloquei , ele até dá o aviso, mas posta a pagina na sequencia, acreidto que muita gente acaba nem vendo o aviso.Vale Asp, Java o que for, please.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se for uma familia de radios.. você pega o valor do unico selecionado da seguinte forma:

 

var_radio = request("radiofamilia")

Depois verifica se tem valor ou naum!

 

If var_radio = "" then Response.write("a familia do radio esta vazia!")End if

Compartilhar este post


Link para o post
Compartilhar em outros sites

oi , agradeço mas nãp é bem isso que preciso, sabe quando você vai preencher uma enquete e se você não seleciona nada e clica em "enviar" ele informa "é necessário selecionar uma opção" ou algo do genero.O que quero é um codigo que só aceita que a pessoa post o formulário após ele selecionar uma opção. Thanks

Compartilhar este post


Link para o post
Compartilhar em outros sites

oi , agradeço mas nãp é bem isso que preciso, sabe quando você vai preencher uma enquete e se você não seleciona nada e clica em "enviar" ele informa "é necessário selecionar uma opção" ou algo do genero.

O que quero é um codigo que só aceita que a pessoa post o formulário após ele selecionar uma opção. Thanks

Ola, espero que o exemplo que vou colocar ajude.

 

No form tu tem que colocar esse comando: onSubmit="return NOME_FUNCAO()"

 

Depois voce cria uma função parecida com esta:

 

function NOME_FUNCAO(){

 

var campo = document.NOME_FORM.NOME_RADIO;

var campo_preenchido = 0;

 

for(var i = 0; i < campo.length; i++){

if (campo.checked){

campo_preenchido = 1;

}

}

 

if (campo_preenchido == 0){

alert("SELECIONE UMA OPCAO PARA CONFIRMAR A ENQUETE.");

return false

}

 

}

 

Era isso...

Compartilhar este post


Link para o post
Compartilhar em outros sites

oi , agradeço mas nãp é bem isso que preciso, sabe quando você vai preencher uma enquete e se você não seleciona nada e clica em "enviar" ele informa "é necessário selecionar uma opção" ou algo do genero.

O que quero é um codigo que só aceita que a pessoa post o formulário após ele selecionar uma opção. Thanks

Ola, espero que o exemplo que vou colocar ajude.

 

No form tu tem que colocar esse comando: onSubmit="return NOME_FUNCAO()"

 

Depois voce cria uma função parecida com esta:

 

function NOME_FUNCAO(){

 

var campo = document.NOME_FORM.NOME_RADIO;

var campo_preenchido = 0;

 

for(var i = 0; i < campo.length; i++){

if (campo.checked){

campo_preenchido = 1;

}

}

 

if (campo_preenchido == 0){

alert("SELECIONE UMA OPCAO PARA CONFIRMAR A ENQUETE.");

return false

}

 

}

 

Era isso...

 

Como eu teria que alterar isso, se precisasse validar mais de uma questão, exemplo:

Animal preferido ( )gato ( )cachorro

estado civil: ( )solteiro ( )casado

 

Se o navegante deixar as uma ou duas sem preencher ele mandar esta mensagem.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como eu teria que alterar isso, se precisasse validar mais de uma questão.Se o navegante deixar as uma ou duas sem preencher ele mandar esta mensagem.

Veja http://forum.imasters.com.br/index.php?s=&...ndpost&p=447786 B)
Simplesmente "EXCELENTE" era exatamente o q eu precisava. Vlw!!!MTO OBRIGADO!!!!!!!!

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hum, mais uma questão:

 

Eu já tenho um script que faz as validações dos campos text.

 

Posso colocar este script lá em cima junto com o dos buttons, e usar o on submit desta forma:

 

<form onSubmit="return ValidarRadios(this.form);" "MM_validateForm('nome','','R','empresa','','R','email','','R');return document.MM_returnValue">

Compartilhar este post


Link para o post
Compartilhar em outros sites

Assim:

<form onSubmit="return ValidarRadios(this.form);MM_validateForm('nome','','R','empresa','','R','email','','R');return document.MM_returnValue">
B)
Dessa forma ele só executa a função que vier primeiro ou seja só executa até o ; dentro do onsubmit

Compartilhar este post


Link para o post
Compartilhar em outros sites

Essa função peguei de um conhecido mas é mto complexa

 

function MM_findObj(n, d) { //v4.01  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {	d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);  if(!x && d.getElementById) x=d.getElementById(n); return x;}function MM_validateForm() { //v4.0  var i,p,q,nm,test,num,min,max,errors='',args=MM_validateForm.arguments;  for (i=0; i<(args.length-2); i+=3) { test=args[i+2]; val=MM_findObj(args[i]);	if (val) { nm=val.name; if ((val=val.value)!="") {	  if (test.indexOf('isEmail')!=-1) { p=val.indexOf('@');		if (p<1 || p==(val.length-1)) errors+='- '+nm+' endereço de e-mail.\n';	  } else if (test!='R') { num = parseFloat(val);		if (isNaN(val)) errors+='- '+nm+' must contain a number.\n';		if (test.indexOf('inRange') != -1) { p=test.indexOf(':');		  min=test.substring(8,p); max=test.substring(p+1);		  if (num<min || max<num) errors+='- '+nm+' must contain a number between '+min+' and '+max+'.\n';	} } } else if (test.charAt(0) == 'R') errors += '- '+nm+' campo obrigatório.\n'; }  } if (errors) alert('Erro!:\n'+errors);  document.MM_returnValue = (errors == '');}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Esse que você me passou o link está dando este erro:

 

"erro em tempo de execução, deseja depurá-lo?

linha9

Erro: objeto esperado"

 

<form name="formcheck" onsubmit="return formCheck(this);">

Compartilhar este post


Link para o post
Compartilhar em outros sites

S C R I P T

<script language="JavaScript" type="text/javascript"><!--function formCheck(formobj){// Enter name of mandatory fieldsvar camporequerido = Array("FirstName", "LastName", "state", "---", "Mat", "opinion");// Enter field description to appear in the dialog boxvar fieldDescription = Array("Nome", "Sobrenome", "UF", "Sexo", "Cursos", "Opinião");// dialog messagevar alertMsg = "Por favor, preencha os determinados campos:\n";var l_Msg = alertMsg.length;for (var i = 0; i < camporequerido.length; i++){ var obj = formobj.elements[camporequerido[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>

F O R M

<html><head><title>Untitled Document</title></head><body><form name="formcheck" onsubmit="return formCheck(this);">Nome: <input type="text" name="FirstName" size="25"> Sobrenome: <input type="text" name="LastName" size="25"><br>Cidade: <select name="state" size="1"><option value=""></option><option value="DF">Distrito Federal</option><option value="MG">Minas Gerais</option><option value="RJ">Rio de Janeiro</option><option value="SP">São Paulo</option></select><br><input type="radio" name="---" value="M">Masculino<input type="radio" name="---" value="F">Feminino<br><input type="checkbox" name="Mat" value="Computacao">Computação <input type="checkbox" name="Mat" value="Ingles">Inglês <input type="checkbox" name="Mat" value="Espanhol">Espanhol<br>Opinião: <textarea name="opinion" cols="30" rows="8"></textarea><br><input type="submit" value="Submit Form"></form></body></html>

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ótimo, funcionou, eu tentei chama-la em arquivo separado com arquivo .js mas não rolou, agora tá 10.

Vou tentar criar um array automático em cima deste, para que não precise colocar os nomes a cada formulário diferente e quais campos obrigatórios.

Não sei se é possível mas vou nomear os nomes dos campos do form com um * na frente, tipo *nome, *cidade, e usar a função string.charat(posição) para selecionar atraves de um IF que se o nome começar com * execute a função, senão passa para a próxima, entende?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Xiiii, agora que vem o problema "sintaxe", olha só o cód:

 

function formCheck(formobj){	//var camporequerido = Array("FirstName", "LastName", "state", "---", "Mat", "opinion");var camporequerido = document.forms[0].elements; //Aqui é a criação do array automático	//var fieldDescription = Array("Nome", "Sobrenome", "UF", "Sexo", "Cursos", "Opinião");var alertMsg = "Por favor, preencha os determinados campos:\n";var l_Msg = alertMsg.length;for (var i = 0; i < camporequerido.length; i++){ var obj = formobj.elements[camporequerido[i]]; if (obj){ 	if (document.forms.elements == string.charat(*)){ //Esta é alinha q quero ver se o nome do campo começa com *  É AQUI Q ME RETORNA ERRO DE SINTAXE  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";   }  }else { //Este é o else q dá continuidade caso o nome do campo não comece com * }}if (alertMsg.length == l_Msg){ return true;}else{ alert(alertMsg); return false;}}// --></script>

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.