11521 sujets

JavaScript, DOM et API Web HTML5

Bonjour à tous, et merci de prendre le temps de lire mon message Smiley smile

Voilà mon soucis:
je récupère deux données dans un tableau grâce à JS,avec un getElementsByTagName, et j'injecte les deux dans un input (text pour l'un, hidden pour l'autre) sauf que seulement pour un input, il me met des espaces avant, et après...
J'ai essayé avec la récupération d'une autre cellule, et même problème...

Je ne vois pas du tout... Voici mes codes :

function recupIdProjetArchive(){

    var recupIdRef = document.getElementsByTagName('table')[0].getElementsByClassName('highlight')[0].cells[0].innerHTML;
    var recupTauxRef = document.getElementsByTagName('table')[0].getElementsByClassName('highlight')[0].cells[7].innerHTML;
    var recupRef = document.getElementsByTagName('table')[0].getElementsByClassName('highlight')[0].cells[1].innerHTML;

    if(recupRef && recupIdRef && recupTauxRef){
        document.getElementById('hiddenArchiver').innerHTML = '<input name="id_reference_cache" type="" value="'+recupIdRef+'">';
        document.getElementById('hiddenArchiver2').innerHTML = '<input name="taux_reference_cache" type="text" value="'+recupTauxRef+'">';
        document.getElementById('nomRefArchive').innerHTML = recupRef;
    }
}


<div id="div_archiver">
    <h1>Archiver</h1><br />
    <p>Voulez-vous vraiment archiver le projet "<span id="nomRefArchive"></span>" ?</p>
    <br />
    <form action="" method="POST">
        <span id="hiddenArchiver" type="text"></span>
        <span id="hiddenArchiver2" type="text"></span>
        <input type="submit" name="archiver" value="Archiver" onclick="cache_div_2(this, 'div_archiver')">
        <input type="reset" name="annuler" value="Annuler" onclick="cache_div_2(this, 'div_archiver'); supprimerSelectionLigne();">
    </form>
</div>


 <td class="colonne">
                        <?php
                                echo '100%';
                                echo '0%';
                            echo $taux_acheve.'%';
                        ?>
                    </td>


Pour le php, c'est l'une des trois valeur (je n'ai pas mis tout le code, car bcp de choses ne servent pas) qui est récupéré, le "%" ne change rien puisque j'ai essayé avec une autre cellule, et même problème...
Si vous avez une piste, je suis preneur Smiley biggrin

Merci à vous !
Modifié par melER5 (18 Apr 2020 - 17:20)
En JavaScript supprimer les espaces au début et à la fin d’une chaîne de caractères s’écrit

NewText = OldText.replace(/(^\s+|\s+$)/g, "");
Bonjour melER5,
Première solution :
 <td class="colonne"><?php
                                echo '100%';
                                echo '0%';
                            echo $taux_acheve.'%';
                        ?></td>

Deuxieme solution :

if(recupRef && recupIdRef && recupTauxRef){
        document.getElementById('hiddenArchiver').innerHTML = '<input name="id_reference_cache" type="" value="'+recupIdRef.trim()+'">';
        document.getElementById('hiddenArchiver2').innerHTML = '<input name="taux_reference_cache" type="text" value="'+recupTauxRef.trim()+'">';
        document.getElementById('nomRefArchive').innerHTML = recupRef.trim();
    }

Si tu ne dois pas récupérer de HTML utilise textContent a la place de innerHTML
Merci à vous deux ! .trim() est nikel, et j'ai quand même enregistré les deux solutions Smiley cligne
Résolu
Modifié par melER5 (18 Apr 2020 - 18:32)