JavaScript - ¡Ayuda! Registrar dos valores diferentes del mismo input

 
Vista:

¡Ayuda! Registrar dos valores diferentes del mismo input

Publicado por Cristina (12 intervenciones) el 27/01/2021 13:00:14
Hola,
Necesito ayuda para resolver una problemática con mi cuestionario de radiobuttons.
Los usuarios cuando realizan el cuestionario tienen que escoger entre los valores 1, 2, 3, 4 y 5, registrándose al igual en la base de datos. Por lo que en el editor de código se encuentra así:

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
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
<script>
    function resultados() {
        if (validarFormulario()) {
    $.ajax({
        url: 'http://xxxx/api/resultados',
        type: 'POST',
        data: {
           PR1: document.querySelector('input[name="preg1"]:checked').value,
           PR2: document.querySelector('input[name="preg2"]:checked').value,
           PR3: document.querySelector('input[name="preg3"]:checked').value,
           PR4: document.querySelector('input[name="preg4"]:checked').value,
           PR5: document.querySelector('input[name="preg5"]:checked').value,
        },
        success: function (respuesta) {
                console.log(respuesta.message)
                if (respuesta.message.affectedRows > 0) {
                     console.log("Los datos se han enviado correctamente")
                     window.location.href = "XXX.html";
                } else {
                    console.log("Faltan datos por introducir")
                }
            },
            error: function () {
                alert("No es posible completar la operación");
            }
                });
            }
        }
 
</script>
 
<div id="cuestionario" class="radios">
<label>1. Primer enunciado del cuestionario</label>
        <div class="respuestas">
            <input type="radio" name="preg1" value="1"/>1
            <input type="radio" name="preg1" value="2"/>2
            <input type="radio" name="preg1" value="3"/>3
            <input type="radio" name="preg1" value="4"/>4
            <input type="radio" name="preg1" value="5"/>5
        </div>
    </div>
 
<div id="cuestionario" class="radios">
<label>2. Segundo enunciado del cuestionario</label>
        <div class="respuestas">
            <input type="radio" name="preg2" value="1"/>1
            <input type="radio" name="preg2" value="2"/>2
            <input type="radio" name="preg2" value="3"/>3
            <input type="radio" name="preg2" value="4 />4
            <input type="radio" name="preg2" value="5"/>5
        </div>
    </div>
resultados: (req, res) => {
        console.log(req.body)
        try {
            const db = dbConnection();
            db.connect(function (err) {
                if (err) throw err;
                var insert = " INSERT INTO xxxxx (PR1, PR2, PR3, PR4, PR5) VALUES ('" +req.body.PR1+ "', '" +req.body.PR2+ "', '" +req.body.PR3+ "', '" +req.body.PR4+ "', '" +req.body.PR5+ "');

La problemática es que desconozco como se puede guardar adicionalmente otro valor del mismo input, es decir, cuando un usuario escoge por ejemplo el valor 1 en una pregunta del cuestionario, en la base de datos se debe registrar en un campo el valor 1 y en otro campo el valor 5.
Los valores para el nuevo campo invertido quedarían así: 1=5, 2=4, 3=3, 4=2, 5=1.
Quien escoja el valor 4 en una pregunta del cuestionario, en la base de datos se tiene que registrar en un campo el valor directo 4 y en otro campo el valor invertido 2. (Espero haberme explicado lo mejor posible).
Posteriormente cuando estén los valores directos y los invertidos registrados, se tienen que hacer operaciones matemáticas que también desconozco realizar. Por ejemplo, PR1(valor directo) + PR1X (valor invertido).

¡Muchas gracias a todos!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder