Accès aux attributs d'un nested field
Bonjour,
Etant nouveau en javascript et ne sachant pas quoi chercher exactement, j'espère que vous pourrez m'aider parce que je n'ai pas réussi à trouver ce qui pourrait m'aider jusqu'à maintenant :/ .
Voilà le problème que je rencontre actuellement :
J'ai crée un projet sous Ruby on Rails et utilise javascript pour créer/détruire des champs à la volée. Cependant, je n'arrive pas à effectuer de calculs sur les champs :(. Je pense que c'est surement parce que je n'arrive pas à faire passer les attributs dans la fonction.
Voici le code de mon HTML.erb :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
<div class="fields">
<p>
<%= f.label :description, "Decription" %>
<%= f.text_field :description %> </br>
<%= f.label :TVA,"TVA" %>
<%= f.text_field :TVA %> </br>
Prix : <input type="text" size="25" name="Prix" id="prix" onselect="calcul(this)"> </br>
Quantite : <input type="text" size="25" name="Quantite" id="quantite" onselect="calcul(this)"> </br>
Montant HT: <input type="text" size="25" name="Montant HT" id="montant" onselect="calcul(this)"> </br>
<%= f.label :type,"Type" %>
<%= f.text_field :type %> </br>
<%= f.label :ref_prod_serv, "Reference produit" %>
<%= f.text_field :ref_prod_serv%> </br>
<%= link_to_remove_fields "remove", f %><br />
</p>
</div> |
et mon applications :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
function remove_fields(link) {
$(link).previous("input[type=hidden]").value = "1";
$(link).up(".fields").hide();
}
function add_fields(link, association, content) {
var new_id = new Date().getTime();
var regexp = new RegExp("new_" + association, "g")
$(link).up().insert({
before: content.replace(regexp, new_id)
});
function calcul(f) {
var qte = f.getElementById('quantite').getValue() ;
var prix = f.getElementById('prix').getValue() ;
if(qte=='')
qte = 0;
if(prix == '')
prix = 0;
f.getElementById('montant').setValue(qte * prix) ;
}
} |
Il n'y a pas d'erreurs lors de l'exécution mais il ne se passe rien ...
J'ai bien essayé avec un document.getElementBy... mais rien :/ d'où les fantaisies du code avec le this ...
Donc voilà si quelqu'un pouvait m'aider ça serait sympa :)