Mit jQuery- ist es einfach, nur durch die Eingaben iterieren und die Werte zusammenzählen. Beachten Sie, dass ich dem Formular eine ID gegeben habe, damit es direkt auf ein anderes Formular ausgerichtet werden kann. Die Summe kann auf Ihre andere Seite übertragen werden - entweder über AJAX oder unter Verwendung eines Standard-HTML-Formulars als verstecktes Feld. Alternativ - da dies ein Formular ist und Sie es bereits an eine PHP-Seite übergeben - können Sie einfach das Formular abschicken und die $ _POST-Variablen auf der anderen Seite zusammenzählen.
$('#testForm input').on('change', function() {
var total=0;
$('input[type=radio]:checked', '#testForm').each(function(){
total += parseInt($(this).val());
})
alert(total)
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<form id="testForm" action="answer.php" method="POST">
<input type="radio" name="q1" value="1" />Yes <br />
<input type="radio" name="q1" value="0" />No <br />
<input type="radio" name="q2" value="2" />Yes <br />
<input type="radio" name="q2" value="0" />No <br />
<input type="radio" name="q3" value="3" />Yes <br />
<input type="radio" name="q3" value="0" />No <br />
<input type="submit" value="submit" name="submit"/>
</form>
kommentiert Version für den OP:
$('#testForm input').on('change', function() {//triggers the function on any change in the form
var total=0;//initialises the total at 0 so that each round ottallying up resets before the tally
$('input[type=radio]:checked', '#testForm').each(function(){//selects each input in the #testForm that is checked
total += parseInt($(this).val());//adds the value of each checked radio button to the tally
})
alert(total); //alerts the final tally after all iterations
});
Sie könnten AJAX verwenden? –
Können Sie mir den Code zeigen? – Darcy
Sie wählen nur 1, also warum brauchen Sie die Werte der nicht ausgewählten? –