Formulario com multiselect - com automultiselect no momento do submit
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.
Discussão (0)
Carregando comentários...