Je dois avouer que je ne connais pas grand-chose à JavaScript, c'est pourquoi ma question peut sembler un peu ridicule.Shortening JavaScript Fonction
Mais ce que j'essaie de faire est de saisir des valeurs de groupes radio sélectionnés par nom.
Il ressemble à ceci
function calc() {
var op1 = document.getElementsByName('form[radio1]');
var op2 = document.getElementsByName('form[radio2]');
var op3 = document.getElementsByName('form[radio3]');
var result = document.getElementById('result');
result.value = 0;
result.value = parseInt(result.value);
for (i = 0; i < op1.length; i++) {
if (op1[i].checked) result.value = parseInt(result.value) + parseInt(op1[i].value);
}
for (i = 0; i < op2.length; i++) {
if (op2.options[i].selected) result.value = parseInt(result.value) + parseInt(op2[i].value);
}
for (i = 0; i < op3.length; i++) {
if (op3.options[i].selected) result.value = parseInt(result.value) + parseInt(op3[i].value);
}
return false;
}
Et ceci est ma forme. Im en utilisant le formulaire rs pour joomla.
<form action="index.php" enctype="multipart/form-data" id="userForm" method="post">
<input name="form[radio1]" value="25" id="radio20" type="radio">
<label for="radio20">Description1</label>
<input name="form[radio1]" value="35" id="radio21" type="radio">
<label for="radio21">Description2</label>
<input name="form[radio2]" value="20" id="radio20" type="radio">
<label for="radio20">Description1</label>
<input name="form[radio2]" value="30" id="radio21" type="radio">
<label for="radio21">Description2</label>
<input type="hidden" value="0" id="result" name="form[result]">
<input type="submit" class="rsform-submit-button" onclick="calc()" id="submit" name="form[submit]" value="submit">
Et tout serait OK, car la fonction fonctionne. le seul problème est que j'ai environ 80 radiogrammes.
Existe-t-il un moyen de le raccourcir?
Très bon je crois, le fait est que je ne connais tout simplement pas JavaScript, donc je pourrais simplement demander une fonction qui fonctionnera s'il vous plaît? – Dom
@Dom voir mon edit.Je pense que j'ai recréé ce que ta fonction essayait Cela dit, si vous "ne connaissez tout simplement pas JavaScript" alors peut-être que vous devriez travailler sur _actively_ l'apprentissage plutôt que de _sayer pour la réponse_ –
@ Matt I c complètement d'accord avec vous. Et c'est ma prochaine étape. Im genre de débutant avec jQuery et JavaScript et s'il vous plaît croyez-moi, mais celui-ci - j'avais juste besoin de solution. Malheureusement, cela ne fonctionne pas de moi. J'ai vraiment besoin d'aide à ce sujet. Désespéré. Y a-t-il autre chose que je dois poster pour aider à trouver une solution? – Dom