Page 1 sur 1

[RESOLU] Utiliser une variable PHP dans du code JS

Posté : 30 août 2022, 13:52
par wisefun77
Bonjour,

J'ai ce code pour copier une textarea.
Mais j'aimerai que la valeur change dans le code JS ,comme l'ID de la textarea et du bouton en php.

Code : Tout sélectionner

<?php
// Set session variables
setlocale(LC_TIME, 'fra_fra');
$timezone  = +2; //(GMT +2:00) EST (F.R. & PARIS)
$date = '['.gmdate("j/m/Y H:i:s", time() + 3600*($timezone+date("I"))).']';
$version = "[Version_2.02]";
$code= "[ADC_END]";

// Traitement du code pour le checksum.
$chaine = $_SESSION['Start'];
//le checksum ressemble à un CRC32.
//En php il suffit d'appeler la fonction crc32 :
$checksum = crc32($chaine);
// Cela génère un entier.
// Représentation héx= adécimal:faire un dechex :
$str = dechex($checksum);
$_SESSION['END'] ='['.$str.']'.$date.$version.$code;
$_SESSION["Balises3"] = $_SESSION['Balises3'].$_POST['balise'];
if(isset ($_SESSION['TabInter'])){
	
	for($ligne=0;$ligne<sizeof($_SESSION['TabInter']);$ligne++)
	{
	$txt=1;
	$btn=1;
	$js=1;
		$_SESSION['ValueInter']= $_SESSION['Start'].$_SESSION['TabInter'][$ligne].$_SESSION['Balises3'].$_SESSION['Balises4'].'['.$str.']'.$date.$version.$code;
		$txt = $ligne;
		$btn = $ligne;
		$js = $ligne;		
	?>
		<table align="center">
    <tr align="center">
        <td>
        <form id="form-copier" >
        <!-- //champ de saisie de texte -->
        <textarea id="<?php $txt; ?>" cols="80" rows="3"disabled="disabled"><?php print_r($_SESSION['ValueInter']) ?></textarea>
        <!-- //Bouton copier -->
        <input type="button" class="<?php $js; ?>" id="<?php $btn; ?>" value="Copier la chaîne" onclick="this.disabled = 'disabled';this.type='checkbox';this.checked='checked'">
    </form>
        </td>
    </tr>
</table>
<?PHP
		print_r($txt);
		print_r($btn);
		print_r($js);
?>
// Traitement du copier de la Textarea
        <script>
            (() => {
		var constBtn = <?php echo json_encode($btn); ?>;
		var constTxt = <?php echo json_encode($txt); ?>;
            const button = document.querySelector('<?php echo ($btn); ?>');
 
            button.addEventListener("click", () => {
  const elemText = document.getElementById('<?php echo ($txt); ?>');
  // supprimer l'attribut disabled si existe
  const disabled = elemText.getAttribute("disabled");
  elemText.removeAttribute("disabled");
  // selectionne le contenu
  elemText.focus();
  elemText.select();
  // copy
  document.execCommand("copy");
  // réactive l'attribut disabled si existe
  disabled && elemText.setAttribute("disabled", disabled);
  // remise focus sur Btn
  button.focus();

 

 
                try {
                    if (document.execCommand('copy')) {
                        var alerte="Champs Work Notes* "
                         alert('La chaine des Balises a été copié ! \n\r Il suffit de la coller dans le ' + alerte + 'de ServiceNow.');
                        //document.location.replace('pagefin.php');
                    }
                } catch (err) {
                    alert('Pas possible de copier.');
                }
 
                window.getSelection().removeAllRanges();
            });
       
        })();
</script>

	<?PHP
	}
	}

?>
Merci.

Re: Utiliser une variable PHP dans du code JS

Posté : 30 août 2022, 15:10
par wisefun77
Bonjour,
J'ai trouvé.

Code : Tout sélectionner

if(isset ($_SESSION['TabInter'])){
	for($ligne=0;$ligne<sizeof($_SESSION['TabInter']);$ligne++)
	{
	
		$_SESSION['ValueInter']= $_SESSION['Start'].$_SESSION['TabInter'][$ligne].$_SESSION['Balises3'].$_SESSION['Balises4'].'['.$str.']'.$date.$version.$code;
			
	?>
		<table align="center">
    <tr align="center">
        <td>
        <form id="form-copier" >
        <!-- //champ de saisie de texte -->
        <textarea id="<?php print_r('tx-'.$ligne); ?>" cols="80" rows="3"disabled="disabled"><?php print_r($_SESSION['ValueInter']) ?></textarea>
        <!-- //Bouton copier -->
        <input type="button" class="<?php print_r('bt-'.$ligne) ?>" value="Copier la chaîne" onclick="this.disabled = 'disabled';this.type='checkbox';this.checked='checked'">
    </form>
        </td>
    </tr>
</table>
<?PHP

?>
        <!-- Script bouton  -->
    <script>
        (() => {
            const button = document.querySelector('.<?php print_r('bt-'.$ligne) ?>');

            button.addEventListener("click", () => {
                const elemText = document.getElementById("<?php print_r('tx-'.$ligne); ?>");
                // supprimer l'attribut disabled si existe
                const disabled = elemText.getAttribute("disabled");
                elemText.removeAttribute("disabled");
                // selectionne le contenu
                elemText.focus();
                elemText.select();
                // copy
                document.execCommand("copy");
                // réactive l'attribut disabled si existe
                disabled && elemText.setAttribute("disabled", disabled);
                // remise focus sur Btn
                button.focus();
                try {
                    if (document.execCommand('copy')) {
                        var alerte = "Champs Work Notes* "
                        alert('La chaine des Balises a été copié ! \n\r Il suffit de la coller dans le ' + alerte + 'de ServiceNow.');

                    }
                } catch (err) {
                    alert('Pas possible de copier.');
                }

                window.getSelection().removeAllRanges();
            });

        })();
    </script>