Jump to content

Archived

This topic is now archived and is closed to further replies.

asacap1000

Formulario com multiselect - com automultiselect no momento do submit

Recommended Posts

Galera estou com uma zica e não consigo resolver. Preciso da ajuda de vocês.

 

Tenho um formulário de Ordem de Coleta, e existe um campo que carrega as informações vinda do Banco de dados referente aos documentos disponíveis. Até aí blz.

 

Para ele criar esta ordem de coleta ele pode escolher quais documentos ele irá retirar, sendo assim estou utilizando duas janelas a primeira carrega os numeros dos documentos e ao clicar no documento ele é enviado para outra janela.

 

Segue a parte do script.

<table width="600" height="190" border=0 align=left cellpadding="0" cellspacing="0" valign=center bordercolor="#ffffff">
  <tr> <label><strong>DOCUMENTOS LIBERADOS    -    CASO NÃO ENCONTRE NA LISTA ABAIXO <b style="color:#0049F4"><a href="javascript:abrir('statusdoc.php');"> -> CLIQUE AQUI <-  </a></b><P> CLIQUE NOS DOCUMENTOS PARA ADICIONAR À ORDEM</strong></label><br/><hr>

    <td width="280"><div align="center"class="easyui-datagrid" id="dg" style="width:300px"
			title="Documentos Disponíveis" url="apontador1_getdata.php"></div><strong>Documentos Disponíveis</strong></td>
    <td width="130"></td>
    <td width="280"><div align="center"class="easyui-datagrid" id="dg" style="width:300px"
			title="Documentos Selecionados" url="apontador1_getdata.php"></div><strong>Documentos Adicionados à Ordem</strong></td>
  </tr>
  <tr>
    <td height="168"><script type="text/javascript">

var from_array = new Array('<?php ociexecute($stmu);
while (($row = oci_fetch_array($stmu, OCI_BOTH)) != false) { echo "".oci_result($stmu,1) .";  ','<strong></strong><hgroup>"; }?>');  // neste campo é gerado a lista de documentos liberados
var to_array = new Array(); // neste campo recebe os documentos selecionados

function moveoutid()
{
	var sda = document.getElementById('xxx');
	var len = sda.length;
	var sda1 = document.getElementById('tb_doc');
	for(var j=0; j<len; j++)
	{
		if(sda[j].selected)
		{
			var tmp = sda.options[j].text;
			var tmp1 = sda.options[j].value;
			sda.remove(j);
			j--;
			var y=document.createElement('option');
			y.text=tmp;
			try
			{sda1.add(y,null);
			}
			catch(ex)
			{
			sda1.add(y);
			}
		}
	}
}

function moveinid()
{
	var sda = document.getElementById('xxx');
	var sda1 = document.getElementById('tb_doc');
	var len = sda1.length;
	for(var j=0; j<len; j++)
	{
		if(sda1[j].selected)
		{
			var tmp = sda1.options[j].text;
			var tmp1 = sda1.options[j].value;
			sda1.remove(j);
			j--;
			var y=document.createElement('option');
			y.text=tmp;
			try
			{
			sda.add(y,null);}
			catch(ex){
			sda.add(y);	
			}

		}
	}	
}
function selectAll(){
                
                var selecionados = document.getElementById('tb_doc');
                
                for(i=0; i<=selecionados.length-1; i++){
                
                        selecionados.options[i].selected = true;
                
                }
        }

</script>
<script type="text/javascript">
for(var j=0;j<to_array.length;j++)
{
	document.write['<value>'+to_array[j]+'</value>'];
	el.options[i].selected = true;
}
  </script>
      <select name="xxx" onClick=moveoutid() size=15 multiple id=xxx style="width:280" draggable="true">
        <script type="text/javascript">

for(var i=0;i<from_array.length;i++)
{
	document.write('<option>'+from_array[i]+'</option>');
}
        </script>
      </select></td>
    <td><p align="center">
      <input type=button hidden="1" value="Selecionar" onClick=moveoutid()>
    </p>
      <p align="center">
      <img src="setaverde.png" width="180" height="79" alt=""/>
        <input type=button  hidden="1" value="Retirar" onClick=moveinid()>
      </p></td>
    <td>    
    <select name="tb_doc[]"  spellcheck="true" onClick=moveinid() id="tb_doc" multiple="multiple" size=15 style="width:280 ;text-transform: uppercase; color:#C00000; font-weight:bold" cols="50" rows="17">
        </select>

Vamos ao problema, se eu coloco um required no <select name "tb_doc[]"> obrigatóriamente tenho que selecionar todos os documentos para poder enviar todos que escolhi senão ele só vai o selecionado. Se eu não colocar o required o cliente pode esquecer de selecionar o documento e criar a ordem sem o documento.

 

Como eu poderia fazer esta validação e ao mesmo tempo capturar todos os documentos selecionados sem mudar de página.

Share this post


Link to post
Share on other sites

  • Similar Content

    • By Yuri080
      Bom dia, ultimamente eu venho tentado baixar o connector/J do MySQL para fazer um CRUD porém quando eu baixo o connector ele vem em formato de pasta, e sinceramente não sei mais o que fazer, eu baixei até pelo instalador do MySQL mas ele vem em formato de pasta  ele vem assim, e não sei o porque disso.
    • By Fernando Rafael
      Bom dia, estou baixando arquivos que estão em uma hospedagem própria para serem acessados por um aplicativo que estou desenvolvendo (consigo fazer normalmente utilizando os comandos citado mais a baixo), porém os arquivos ficam salvos na pasta padrão de DOWNLOADS do Android, minha intenção não é ficar acumulando estes arquivos no aparelho, ou esperar que o usuário exclua manualmente, gostaria em salva-los em uma pasta interna do aplicativo para que seja possível excluir automaticamente pelo próprio aplicativo, já tentei como alternativa excluir esses arquivos da pasta DOWNLOADS, mas não consegui...
       
      Segue o código que estou usando para baixar os arquivos, queria adaptar para baixar direto na pasta interna do aplicativo, ou como alternativa caso isso não seja possível, conseguir excluir esses arquivos da pasta DOWNLOADS do Android...
       
      String url = "https://www.site.com/arquivo.pdf"; //Arquivo que vou baixar DownloadManager.Request request = new DownloadManager.Request(Uri.parse(url)); request.setDescription("Alguma descrição"); request.setTitle("Algum titulo"); //A notificação de conslusão só esta disponível a partir da API 11 if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { request.allowScanningByMediaScanner(); request.setNotificationVisibility(DownloadManager.Request.VISIBILITY_VISIBLE_NOTIFY_COMPLETED); } //Salvando o arquivo no diretório de Downloads request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, "arquivo.pdf"); DownloadManager manager = (DownloadManager) getSystemService(DOWNLOAD_SERVICE); manager.enqueue(request);  
    • By Fernando Rafael
      Bom dia, alguém poderia me ajudar com esse problema? 
       
      Estou fazendo um aplicativo bem simples em que sua única função será criar uma pasta no celular (em local acessível pelo gerenciador de arquivos do usuário), e posteriormente copiar arquivos de outro local ou rede e colocar nesta pasta.
       
      Fiz algumas pesquisas, mas por incrível que pareça não encontrei algo que tenha funcionando. Também tenho dúvidas sobre qual seria o equivalente ao "C:/" do Android.
    • By rodrigomouran
      Galera, sou novo por aqui e em códigos PHP e Web, mas, tenho me virado. Porém esbarrei em um problema.
      Estou usando um banco PostgreSQL para desenvolvimento de uma aplicação simples para minha empresa onde eu quero digitar um código numérico no campo do formulário e ele me retornar 2 outros campos deste formulário preenchidos baseado no código pesquisado no banco.
      Tenho a minha página index.html com o conteúdo:
      <html> <head>   <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>   <script type="text/javascript">   $(document).ready(function(){     $("input[name='usucod']").blur(function(){       var $usunom = $("input[name='usunom']");       var $pricod = $("input[name='pricod']");       $usunom.val('Carregando...');       $pricod.val('Carregando...');         $.getJSON(           'function.php',           { usucod: $( this ).val() },           function( json )           {             $usunom.val( json.usunom );             $pricod.val( json.pricod );           }         );     });   });   </script> </head> <body>   <form action="" method="post">     <label>Código: <input type="text" name="usucod" /></label>     <label>Nome: <input name="usunom" type="text" disabled="disabled" value="" /></label>     <label>Pricod: <input type="text" name="pricod" value="" /></label>   </form> </body> </html> e minha página function.php com o conteúdo:
      <?php   /**    * função que devolve em formato JSON os dados do cliente    */   function retorna( $usucod, $db )   {     $sql = "SELECT usucod, usunom, pricod FROM usuario WHERE usucod = {$usucod} ";     $query = $db->query( $sql );     $arr = Array();     if( $query->num_rows )     {       while( $dados = $query->fetch_object() )       {         $arr['usunom'] = $dados->usunom;         $arr['pricod'] = $dados->pricod;       }     }     else       $arr['usunom'] = 'não encontrado';     return json_encode( $arr );   } /* só se for enviado o parâmetro, que devolve os dados */ if( isset($_GET['usucod']) ) {   $db = pg_connect("host=XXX.XXX.XXX.XXX port=5432 dbname=banco user=usuario password=senha");   echo retorna( filter ( $_GET['usucod'] ), $db ); } function filter( $var ){   return $var; } Ao digitar o código, meus campos a serem preenchidos ficam somente com o valor 'carregando...' visível.
       
       
       
      Agradeço a ajuda!

    • By Felgob
      O que as empresas mais esperam de um desenvolvedor Java que tem o nível júnior?
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.