Preluare valori din Div in formular

Discutii si intrebari legate de scripturi si functii JavaScript, jQuery si Ajax, cod JavaScript in general.
adrian_ady
Mesaje: 80

Preluare valori din Div in formular

Nu pot sa inteleg este cum sa iau valorile subtotalului si a totalului care nu sunt in <input> ci in <div> si sa le inserez in database. Cand se lucreaza cu form si input stiu. Celelalte valori functioneaza.

Cod: Selectaţi tot

 mysql_query("INSERT INTO facturi SET id_membru = '".$id_membru."', id_anunt = '".$id."', status_plata = '".$status_plata."', data_facturare = '".$data."', data_plata = '".$data_status_plata."', sub_total = '".$subtotal."', tva = '".$tva."', total_cu_tva = '".$due."' ");

MarPlo Mesaje: 4343
Poti sa adaugi acele valori in <input> ascuns (type="hidden") si le trimti la php cu tot formularul.

adrian_ady Mesaje: 80
Nu reusesc ca inputul sa preia valoarea.
In js am:

Cod: Selectaţi tot

function update_subtotal() {
  var subtotal = $("#tvaVal").html().replace(" Lei","") + $(".price").html().replace(" Lei","");
  subtotal = roundNumber(subtotal,2);

  $('#subtotal').html(subtotal+" Lei");

}
In pagina am:

Cod: Selectaţi tot

<div id="subtotal"></div>
Cum scriu formula inputului?

Cod: Selectaţi tot

<div id="subtotal"></div>
<input type="hidden" ------  />

andras Mesaje: 430
Incearca in pagina (n-am testat) ceva de genul:

Cod: Selectaţi tot

<div>
<input type="hidden" id= "subtotal"   ------ />
</div>
iar in JS:

Cod: Selectaţi tot

$('#subtotal').value= subtotal + "Lei";

MarPlo Mesaje: 4343
ID-ul in pagina trebuie sa fie unic, deci sa nu ai acelasi id la Div si la <input>
De exemplu, in formular sa ai un input ascuns asa:

Cod: Selectaţi tot

<input type="hidden" name="subtotal" id="inp_subtotal" value="" />
Iar in functia JS unde setezi valorile poti face asa (setezi valoarea la <input> cu val()):

Cod: Selectaţi tot

function update_subtotal() {
  var subtotal = $("#tvaVal").html().replace(" Lei","") + $(".price").html().replace(" Lei","");
  subtotal = roundNumber(subtotal,2);

  $('#subtotal').html(subtotal+" Lei");
  $('#inp_subtotal').val(subtotal);  // pt. <input>
}

adrian_ady Mesaje: 80
Am modificat in JS, functioneaza cu scriptul de mai jos fara sa inserez inputuri in pagina. Daca inserez inputuri ascunse fara scriptul de mai jos nu functioneaza.
Daca adaug la 'var value' in script valorile cu 'inp_----', cele atribuite in js inputurilor, nu functioneaza(chiar daca exista acele inputuri in pagina).

Cod: Selectaţi tot

<script>
$( "form" ).submit(function() {
  var hvalue = $('#subtotal').html();
  $(this).append("<input type='hidden' name='inp_subtotal' id='inp_subtotal' value=' " + hvalue + " ' />");
  var tvalue = $('.due').html();
  $(this).append("<input type='hidden' name='inp_due' id='inp_due' value=' " + tvalue + " ' />");
});
</script>
Multumesc mult, din nou, pentru tot.

Subiecte similare