Ir para conteúdo

POWERED BY:

Arquivado

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

Inside

[Resolvido] Recuper valores

Recommended Posts

qual linguagem server-side você vai usar ?

 

no caso, você precisa que os selects sejam multiple

Compartilhar este post


Link para o post
Compartilhar em outros sites

qual linguagem server-side você vai usar ?

 

no caso, você precisa que os selects sejam multiple

 

 

Vou usar ASP tipo assim:

 

'cidades = request.form("cidades")

response.write cidades

Compartilhar este post


Link para o post
Compartilhar em outros sites

http://www.w3schools.com/tags/att_select_multiple.asp

 

<select id="membros" name="membros[]" multiple="multiple" size="11" style="width:275px;">

edit:

para limitar a 5, ao clicar na seta ->, você precisa verificar qntos options tem..

 

não testei, mas acredito que isso vai te retornar qntos options tem o select:

 

document.getElementById('membros').getElementsByTagName('option').length

Compartilhar este post


Link para o post
Compartilhar em outros sites

Caro William Bruno

 

 

A sua dica deu certo. Obrigado.

 

 

Mas tenho uma outra questão. Você sabe informar como eu poderia limitar a somente 5 inclusões na coluna da direita? É de suma importância.

Compartilhar este post


Link para o post
Compartilhar em outros sites

para limitar a 5, ao clicar na seta ->, você precisa verificar qntos options tem..

 

não testei, mas acredito que isso vai te retornar qntos options tem o select:

 

document.getElementById('membros').getElementsByTagName('option').length

Compartilhar este post


Link para o post
Compartilhar em outros sites

antes do código que envia para o outro select..

 

faz um if..

if( ... <= 5 )
{
  //deixa executar
}
else
   alert( 'você só pode enviar no máximo 5!!!' );

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu fiz isto, mas não deu certo:

 

<script language="JavaScript"><!--
function valida_envio(form)
{
	if(escolhe.cidades.value.length <= 5)
	{
		alert("Você só pode enviar no máximo 5!");
		escolhe.cidades.focus();
		return false;
	}
}

// --></script>

<form name="escolhe" method="post" action="javascript_grava.asp?modulo=profile" onsubmit="return valida_envio()">

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas isso ai não tem o menor sentido mesmo..

 

eu sugeri isso aqui, mesmo:

if(document.getElementById('membros').getElementsByTagName('option').length <= 5)
        {
                alert("Você só pode enviar no máximo 5!");
                escolhe.cidades.focus();
                return false;
        }
mas era melhor que isso acontecesse qndo ele tenta colocar mais q 5, e não só na hora de enviar

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não funfa com o seu código. Não deu erro mas não deu o alerta.

 

Tentei assim também:

 

function valida_envio(form)
{
if(document.getElementById("membros").selectedIndex <= 5)
{
window.alert("Você só pode enviar no máximo 5.");
document.getElementById("membros").focus();
return false;
}
}

if(document.getElementById('membros').getElementsByTagName('option').length <= 5)
{
window.alert("Você só pode enviar no máximo 5.");
document.getElementById("membros").focus();
return false;
}
}

sobre a sua idéia de dar o alerta antes de enviar quando acrescentasse mais 5 seria o ideal.

Compartilhar este post


Link para o post
Compartilhar em outros sites

cara... se você não tem certeza do que tá fazendo... toma cuidado, e estuda um pouco..

mas olha, o que eu sugeri a priori, era isso:

 

 

txt_lib_profile.js : 231

function transferItems( fromList, toList, bAllItems ) {
  var fromls = document.getElementById(fromList);
  var tols   = document.getElementById(toList);
  
  if( tols.getElementsByTagName('option').length<5 )
  {
	  /* Pass 0 or 1 for the parameter bAllItems. 0 transfers only the selected items */
	  for( i=0; i<fromls.options.length; i++) {
		if (fromls.options[i].value != ''){
		  if(bAllItems || fromls.options[i].selected){
			tols.options[tols.options.length] = new Option( fromls.options[i].text, fromls.options[i].value );
			fromls.options[i] = ((i == 0) && bAllItems)? new Option( txtVazio, '') : null;
			if (tols.options[0].value == ''){
			  tols.options[0] = null;
			}
			i--;
		  }
		}
	  }
  }
  else
	alert('Você só pode enviar no máximo 5.');
	
	
  if (!fromls.options.length){
    fromls.options[0] = new Option( txtVazio, '');
  }
}

testei aqui, vai ter um probleminha, qndo você tentar retornar os itens pro select da esquerda..

mas ai você precisa criar uma regra.. pra validar apenas qndo tiver indo pra direita.

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.