Observe no name do input type name=valor[]
isso resultará em 'n' divs quantos forem os registros vindos do banco.
Tenho o seguinte script js para validar se esse type text esta vazio.
// JavaScript Document
function verifica_quantidade_produto(div)
{
var div_produtos;
div = div.split(";");
//varre o array só pra mostrar que tá tudo ok
for (div_produtos in div)
{
alert (div[div_produtos]);
alert (document.verpreco.elements['valor[0]'].value);
if ((document.getElementById(div[div_produtos]).style.display == "block") &&
(document.verpreco.elements['valor[0]'].value == ""))
{
alert ('Campo '+ div[div_produtos] +' tem que ser preenchido\nCaso contrário, desmarque o produto!');
document.verpreco.elements[div[div_produtos]].focus();
}
}
document.verpreco.submit();
}
o que não estou conseguindo fazer:
A ideia aqui é saber se a div esta blok e se esta verificar se o campo type text esta vazio. Se estiver, disparar um alert e colocar o focu no campo type text. Acontece que não estou conseguindo.
haja visto que quantosa forem os divs serão os input type, tambem tentei assim mas não da certo.
// JavaScript Document
function verifica_quantidade_produto(div)
{
var div_produtos;
div = div.split(";");
//varre o array só pra mostrar que tá tudo ok
for (div_produtos in div)
{
alert (div[div_produtos]);
alert (document.verpreco.elements['valor'+[div_produtos]+''].value);
if ((document.getElementById(div[div_produtos]).style.display == "block") &&
(document.verpreco.elements['valor'+[div_produtos]+''].value == ""))
{
alert ('Campo '+ div[div_produtos] +' tem que ser preenchido\nCaso contrário, desmarque o produto!');
document.verpreco.elements[div[div_produtos]].focus();
}
}
document.verpreco.submit();
}
Pergunta
Carlos Rocha
Ola.
tenho um form onde há um campo div com um type text dentro.
Acontece que essa div e o campo type text são um loop do php e são com isso uma array.
<input type="checkbox" name="produtoid[]" value="<?=$id;?>" onclick="mostra('valordiv<?=$id;?>')"/><?=$nome;?><br> <div id="valordiv<?=$id;?>" name="valordiv<?=$id;?>" style="display:none"> Valor: <input type="text" size="10" onkeypress="BloqueiaLetras();" name="valor[]"> </div>Observe no name do input type name=valor[] isso resultará em 'n' divs quantos forem os registros vindos do banco. Tenho o seguinte script js para validar se esse type text esta vazio.// JavaScript Document function verifica_quantidade_produto(div) { var div_produtos; div = div.split(";"); //varre o array só pra mostrar que tá tudo ok for (div_produtos in div) { alert (div[div_produtos]); alert (document.verpreco.elements['valor[0]'].value); if ((document.getElementById(div[div_produtos]).style.display == "block") && (document.verpreco.elements['valor[0]'].value == "")) { alert ('Campo '+ div[div_produtos] +' tem que ser preenchido\nCaso contrário, desmarque o produto!'); document.verpreco.elements[div[div_produtos]].focus(); } } document.verpreco.submit(); }o que não estou conseguindo fazer: A ideia aqui é saber se a div esta blok e se esta verificar se o campo type text esta vazio. Se estiver, disparar um alert e colocar o focu no campo type text. Acontece que não estou conseguindo. haja visto que quantosa forem os divs serão os input type, tambem tentei assim mas não da certo.// JavaScript Document function verifica_quantidade_produto(div) { var div_produtos; div = div.split(";"); //varre o array só pra mostrar que tá tudo ok for (div_produtos in div) { alert (div[div_produtos]); alert (document.verpreco.elements['valor'+[div_produtos]+''].value); if ((document.getElementById(div[div_produtos]).style.display == "block") && (document.verpreco.elements['valor'+[div_produtos]+''].value == "")) { alert ('Campo '+ div[div_produtos] +' tem que ser preenchido\nCaso contrário, desmarque o produto!'); document.verpreco.elements[div[div_produtos]].focus(); } } document.verpreco.submit(); }Se puderem ajudar, desde já muito obrigado
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.