Nueva pregunta

Pregunta:

Fecha: 23-03-2019 22:35:50 (En Español)

Sacar un Valor de un input y ponerlo en javascript[No resuelta]

Bueno estoy haciendo una factura que se guardara en un bd hay todo bien ,Excepto por el campo de cantidad
al momento de hacer digamos la cuenta yo pongo una cantidad digamos 4 el hace la operacion con esa cantidad pero el campo de cantidad no me toma el 4 aparece vacio. Intente con document.getElementById('cantidad').value=cantidad; pero me devuelve [object NodeList] (la idea es que al poner una cantidad para hacer una cuenta tambien se ponga a bajo y si agrego una cantidad que al poner otra se le sume)espero que me den una ayuda y gracias

div class="content-wrapper">
  <!-- Content Header (Page header) -->
  <section class="content-header">
   <!-- Main content -->
   <section class="content">
    <div class="row">
      <div class="col-xs-12">
        <div class="box">
          <div class="box-header">
           <h3 class="box-title">Detalle Orden</h3>
         </div>
         <!-- /.box-header -->
         <div class="box-body">
          <form action="<?php echo base_url(); ?>detalle/adicionar_detalle" method="post">



<div class="box-body">
            <div class="row">
             <div class="col col-xs-6">
              <div class="input-group form-group">
                <label class="input-group-addon" >No.Orden</label>
                <select class ="form-control select2" class="form-control" class="form-control" name="fk_nro_orden" id="fk_nro_orden"/>
                <?php  
                if(count($fk_nro_orden)){
                  foreach($fk_nro_orden as $f){
                    echo "<option value'".$f['nro_orden']. "'>".$f['nro_orden']."</option>";
                  }
                }
                ?>
              </select> 
            </div>
          </div>
          </div>
        </div>

<div class="box-body">
            <div class="row">
          
              <div class="col col-xs-6">
               <div class="input-group form-group">
                <label class="input-group-addon">Ref.Vehiculo</label>
                <select class= "form-control select2"  class="form-control" name="fk_id_vehiculo"  id="fk_id_vehiculo"/>
                <?php  
                if(count($fk_id_vehiculo)){
                  foreach($fk_id_vehiculo as $h){
                    echo "<option value'".$h['referencia_v']. "'>".$h['referencia_v']."</option>";
                  }
                }
                ?>
              </select> 
            </div>
          </div>





          <div class="col col-xs-6">
            <div class="input-group form-group">
              <label class= "input-group-addon">Ref.Articulo</label>
              <select  class="form-control select2" class= "form-control" name="fk_id_articulo" id="fk_id_articulo"/>
              <?php  
              if(count($fk_id_articulo)){
                foreach($fk_id_articulo as $f){
                  echo "<option value'".$f['referencia_art']. "'>".$f['referencia_art']."</option>";
                }
              }
              ?>
            </select> 
          </div>
        </div>
      </div>
    </div>







    






      </div>
    </div>
   
    


  </div>
</div> 

            
<div>
  
<label>Detalle</label>
<table class="table">
  <thead>
    <tr>
      <th>Precio</th>
      <th>Cantidad</th>
      <th>Sub-total</th>
    </tr>
  </thead>
  <tbody id="f_tbody">
    
    
  </tbody>
</table>
  <div class="text-right">

      <button  onclick="nuevaFila();" type="button" class="btn btn-info">Agregar</button>          
                
  </div




</div>
</div>
<div class="box-body">
            <div class="row">
    <div class="col col-xs-3">
      <div class="input-group form-group">
        <label class="input-group-addon">Iva</label>
        <input  type="text"  class="form-control" id="iva" name="iva"/ >
      </div>
    </div>
    <div class="col col-xs-3">
      <div class="input-group form-group">
        <label class="input-group-addon">Cantidad</label>
        <input  type="text"  class="form-control" id="cantidad" name="cantidad"/ >


      </div>
    </div>
    
    <div class="col col-xs-3">
      <div class="input-group form-group">
        <label class="input-group-addon">Precio</label>
        <input type="text"  class="form-control" id="precio" name="precio"/ >


      </div>
    </div>
    <div class="col col-xs-3">
      <div class="input-group form-group">
        <label class="input-group-addon">Sub-total</label>
        <input  type="text"  class="form-control" id="subtotal" name="subtotal"/ >


      </div>
    </div>
  </div>
</div>







<!-- /.box-body -->

<div class="box-footer">
  <button type="submit" class="btn btn-primary">Submit</button>
</div>

</form>
<textarea id="text_plantilla" style="display:none;">
  <td>
        <input onkeyup="calcular();" required value = '{precio}' class="form-control" type="text" name="art_precio[]"/>
      </td>
      <td>
        <input onkeyup="calcular();"  required value = '{cantidad}' class="form-control" type="text" name="art_cantidad[]"/>
      </td>
      <td>
        <input required reandoly value = '{subtotal}' class="form-control" type="text" name="art_subtotal[]"/>
      </td>
</textarea>

<script type="text/javascript">

  function my_num(num){
    rs=0;
    tmp=parseFloat(num);
    if(!isNaN(tmp)){
      rs=tmp;

    }


    return rs;


  }


function calcular(){
  total=0;
iva=0;


precio = document.getElementsByName('art_precio[]');
cantidad = document.getElementsByName('art_cantidad[]');
subtotal = document.getElementsByName('art_subtotal[]');



for(x=0; x<precio.length;x++){
  sub=(my_num(precio[x].value)*my_num(cantidad[x].value)).toFixed(3);
  subtotal[x].value=sub;
  total+=my_num(sub);

}
document.getElementById('subtotal').value=total;
iva = total * 0.18;
document.getElementById('iva').value=iva;

total =total +iva;
document.getElementById('precio').value=total;


cantidad=cantidad+cantidad;
document.getElementById('cantidad').value=cantidad;






}




function nuevaFila(){
obj= {};
obj.precio="";
obj.cantidad="";
obj.subtotal="";

agregarFila(obj);

}





function agregarFila(obj){
tr = document.createElement('tr');
cont =document.getElementById('text_plantilla').value;


for(prop in obj){
 cont=cont.replace('{'+prop+'}',obj[prop]);
}


tr.innerHTML =cont;

document.getElementById('f_tbody').appendChild(tr);




}  


</script>






Etiquetas: CodeIgniter - HTML - PHP Votos: 0 - Respuestas: 1 - Vistas: 7 Compartir en: Google Facebook Twitter LinkedIn Link
 

Respuestas:

  • Fecha: 24-03-2019 00:58:16 Hoila Rika:

    Te sugiero que revises el código, apertura y cierre de <div>, <form>, <select> construcción de un <textarea>, etc.

    Ya dentro de <javascript>, lee sobre las variables declaradas o no, globales y locales.
    Ambito de las variables en Javascript.

    Si estás estudiamdo Javascript, merece la pena ver lo nuevo y las modificaciones que hay en ES6 (ECMAScript 2015), la nueva generación de Javascript que ya es interpretada por los navegadores principales.
    En este capítulo hay muchos tutoriales en la red.

    Te dejo varios enlaces sobre los temas mencionados.
      Votos: 0 - Link respuesta
     
Para participar activamente de la comunidad primero debes autenticarte, ingresa al sistema.Iniciar Sesión
 
frjcbbae garagebible.com