Tenho uma função na pagina que duplica campos via javascript, dentre os 3 campos tenho o 1º que é a quantidade, o 2º que é o valor e 3º que é o resultado da multiplicação da quantidade * o valor.
A 1ª linha ele faz o calculo, que acredito que seja a linha sem o array(), da segunda em diante não faz mais o calculo.
gostaria da ajuda de vocês para que eu possa solucionar este problema, desde já agradeço a atenção.
Aqui vai o código:
<html>
<head>
<script type="text/javascript">
/// função que duplica os campos
function duplicarCampos(){
var clone = document.getElementById('origem').cloneNode(true);
var destino = document.getElementById('destino');
destino.appendChild (clone);
var camposClonados = clone.getElementsByTagName('input');
for(i=0; i<camposClonados.length;i++){
camposClonados.value = '';
}
}
/// função que remove os campos
function removerCampos(id){
var node1 = document.getElementById('destino');
node1.removeChild(node1.childNodes[0]);
}
/// função que calcula e coloca em moeda REAL
$("#calcula").ready( function() {
$('#quanti, #valor').blur(function(){
var quanti = $('#quanti').val();
var valor = $('#valor').val();
if(valor == "") valor = 0;
if(quanti == "") quanti = 0;
var total = parseInt(quanti) * parseInt( valor.replace(/[\D]+/g,'') );
// 2 casas decimais
total = Math.abs(total);
var tmp = total+'';
tmp = tmp.replace(/([0-9]{2})$/g, ",$1");
if( tmp.length > 6 )
total = tmp.replace(/([0-9]{3}),([0-9]{2}$)/g, ".$1,$2");
Pergunta
wandelcy
Olá Pessoal,
Tenho uma função na pagina que duplica campos via javascript, dentre os 3 campos tenho o 1º que é a quantidade, o 2º que é o valor e 3º que é o resultado da multiplicação da quantidade * o valor.
A 1ª linha ele faz o calculo, que acredito que seja a linha sem o array(), da segunda em diante não faz mais o calculo.
gostaria da ajuda de vocês para que eu possa solucionar este problema, desde já agradeço a atenção.
Aqui vai o código:
<html>
<head>
<script type="text/javascript">
/// função que duplica os campos
function duplicarCampos(){
var clone = document.getElementById('origem').cloneNode(true);
var destino = document.getElementById('destino');
destino.appendChild (clone);
var camposClonados = clone.getElementsByTagName('input');
for(i=0; i<camposClonados.length;i++){
camposClonados.value = '';
}
}
/// função que remove os campos
function removerCampos(id){
var node1 = document.getElementById('destino');
node1.removeChild(node1.childNodes[0]);
}
/// função que calcula e coloca em moeda REAL
$("#calcula").ready( function() {
$('#quanti, #valor').blur(function(){
var quanti = $('#quanti').val();
var valor = $('#valor').val();
if(valor == "") valor = 0;
if(quanti == "") quanti = 0;
var total = parseInt(quanti) * parseInt( valor.replace(/[\D]+/g,'') );
// 2 casas decimais
total = Math.abs(total);
var tmp = total+'';
tmp = tmp.replace(/([0-9]{2})$/g, ",$1");
if( tmp.length > 6 )
total = tmp.replace(/([0-9]{3}),([0-9]{2}$)/g, ".$1,$2");
$('#total').val(total);
})
</script>
</head>
<body>
<div id="origem">
<a href="java script:void(0)" onclick="duplicarCampos();" <img src="../icon/add.jpg"></a>
<input type="text" name="quanti[]" id="quanti" onblur="calcula();">
<input type="text" name="valor[]" id="valor">
<input type="text" name="total[]" id="total">
<a href="java script:void(0)" onclick="removerCampos(this);" <img src="../icon/cross.jpg"></a>
</div>
<div id="destino"></div>
</body>
</head>
</html>
Editado por wandelcyLink para o comentário
Compartilhar em outros sites
10 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.