• User Newbie

    [JS] Più somme e sottrazioni con valori diversi

    Buon giorno,
    ho un problema che non riesco a risolvere in javascript, che magari sarà un'idiozia 😞

    Ho questo codice di php (le impostazioni alla connessione e il codice js sono nella pagina in cui viene richiamato e questo è a posto):
    [php]<?php
    $sqlabi1 = mysql_query("SELECT *
    FROM
    pg_abi,
    classi_x_abilita,
    pg_carat
    WHERE
    pg_carat.classe=classi_x_abilita.classe AND
    classi_x_abilita.abilita=pg_abi.id AND
    pg_carat.id=".$id."
    ORDER BY
    pg_abi.nome");
    echo '<table><tr><td valign="top"><table><tr><td>Abilità di classe</td></tr>';
    while ($row1 = mysql_fetch_array($sqlabi1)){
    $classe=$row1['classe'];
    $abi=$row1['abilita'];
    echo '<tr><td>'.$row1['nome'].'</td><td>
    <input type="text" id="abi['.$abi.']" name="abi['.$abi.']" value="';
    $sqlabi = mysql_query ("SELECT *
    FROM
    pg_abi_scelte
    WHERE
    id_pg = ".$id." AND
    id_abi = ".$abi);
    if ($sqlabi != "0"){
    while ($row = mysql_fetch_array($sqlabi)){
    $valore=$row['valore'];
    echo $valore;}
    }else{
    $valore = 0;
    echo $valore;
    }

             echo '" class="input1LineCenter" size=\'2\' maxlength=\'2\' readonly>&nbsp;
             <input type="button" name="increase" value="+" onClick="updateAbility(\'+\', \''.$abi.'\', \''.$valore.'\', '.$max_abi.');" class="bttn">&nbsp;
             <input type="button" name="decrease" value="-" onClick="updateAbility(\'-\', \''.$abi.'\', \''.$valore.'\', '.$max_abi.');" class="bttn">&nbsp;</td></tr>';
    

    }
    echo '</table></td><td>';
    $sqlabi1x = mysql_query("SELECT *
    FROM
    pg_abi,
    classi_x_abilita_incrociata,
    pg_carat
    WHERE
    pg_carat.classe=classi_x_abilita_incrociata.classe AND
    classi_x_abilita_incrociata.abilita=pg_abi.id AND
    pg_carat.id=".$id."
    ORDER BY
    pg_abi.nome");
    echo '<table><tr><td valign="top"><table><tr><td>Abilità di classe incrociata</td></tr>';
    while ($row1x = mysql_fetch_array($sqlabi1x)){
    $abix=$row1x['abilita'];
    echo '<tr><td>'.$row1x['nome'].'</td><td>
    <input type="text" id="abi['.$abix.']" name="abi['.$abix.']" value="';
    $sqlabix = mysql_query ("SELECT *
    FROM
    pg_abi_scelte
    WHERE
    id_pg = ".$id." AND
    id_abi = ".$abix);
    if ($sqlabix != "0"){
    while ($rowx = mysql_fetch_array($sqlabix)){
    $valorex=$rowx['valore'];
    echo $valorex;}
    }else{
    $valorex = 0;
    echo $valorex;
    }

             echo '" class="input1LineCenter" size=\'2\' maxlength=\'2\' readonly>&nbsp;
             <input type="button" name="aumenta" value="+" onClick="updateAbility(\'+\', \''.$abix.'\', \''.$valorex.'\', '.$max_abi_incr.');" class="bttn">&nbsp;
             <input type="button" name="diminuisci" value="-" onClick="updateAbility(\'-\', \''.$abix.'\', \''.$valorex.'\', '.$max_abi_incr.');" class="bttn">&nbsp;</td></tr>';
    

    }
    echo '</table></td></tr></table>';
    ?>[/php]E questo è il codice JS

    function updateAbility(operation, name, minval, maxval) {
    
             oAbility = document.getElementById("abi["+name+"]");
             oTotale  = document.getElementById("totale");
    
             if(oAbility.value == minval && operation == "-") { return; }
             if(oAbility.value == maxval && operation == "+") { return; }
    
             if(operation == "+") {
                if(oTotale.value == 0) { return; }
                oAbility.value ++;
                oTotale.value --;
             }else if(operation == "-") {
                oAbility.value --;
                oTotale.value ++;
             }
    
             return;
    }
    

    Quello che vorrei fare è che le abilità di classe incrociata sommino o sottraggano 2 al totale invece che 1 e loro aumentino di 1.
    Qualcuno riuscirebbe ad aiutarmi?

    Ringrazio in anticipo