11496 sujets

JavaScript, DOM et API Web HTML5

Bonsoir j'ai un problème de syntaxe j'ai essayé de changer les quotes rien n'y fait.
Une idée ?


<?php
    $variable = 'une variable';
    $variable2 = '<button onclick="alert(\''.$variable.'\')">ok</button>';
?>
<div id="conteneur"></div>
<script>
    variable = '<?php echo ''.$variable2.'';?>';
    $('#conteneur').html(variable);
</script>

( le code est à utiliser avec jquery )

<?php
    $variable = "une variable";
    $variable2 = "'<button onclick=\"alert(\'".$variable."\')\">ok</button>'";
?>
<div id="conteneur"></div>
<script>
    variable = <?php echo $variable2;?>;
	$('#conteneur').html(variable);
</script>


EDIT: maintenant que j'y pense, pourquoi ne pas faire plus simple ?

<?php
    $variable = "une variable";
?>
<div id="cont"><?php echo '<button onclick="alert(\''.$variable.'\')">ok</button>' ?></div>


Modifié par Zelalsan (15 Mar 2014 - 16:31)
Merci Zelalsan ton code fonctionne mais n'est il pas possible de rester en simple quote ?

Edit : ce code est juste un exemple, il faut qu'il fonctionne de cette manière car derrière il y a tout un système en DSL
Modifié par epic3000 (15 Mar 2014 - 16:33)
epic3000 a écrit :
Merci Zelalsan ton code fonctionne mais n'est il pas possible de rester en simple quote ?
système en DSL

Pourquoi cette contrainte ? La variable JS doit être de type STRING. Tu peux ajouter un "echo ' " ' avant.

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.8/jquery.min.js"></script>
<?php
    $variable = 'une variable';
    $tab[0] = "'<button onclick=\"alert(\'".$variable."\')\">ok</button>'";
    $tab[1] = "'<button onclick=\"alert(\'".$variable."\')\">ok</button>'";
    $tab[2] = "'<button onclick=\"alert(\'".$variable."\')\">ok</button>'";
?>
<div id="conteneur"></div>
<script>
    variable = <?php $i = 0; $tr=3; while($tr != $i){echo $tab[$i];$i++;}?>;
	$('#conteneur').html(variable);
</script>


Voilà je penses que ça sera plus claire à comprendre. Le problème viens des quotes sur le tableau.
Comme dit précédemment, il faut juste que ta variable JS soit de type STRING.

<?php
    $variable = 'une variable';
    $tab[0] = '<button onclick=\"alert(\''.$variable.'\')\">ok</button>';
    $tab[1] = '<button onclick=\"alert(\''.$variable.'\')\">ok</button>';
    $tab[2] = '<button onclick=\"alert(\''.$variable.'\')\">ok</button>';
?>
<div id="conteneur"></div>
<script>
    variable = "<?php $i = 0; $tr=3; while($tr != $i){echo $tab[$i];$i++;}?>";
	$('#conteneur').html(variable);
</script>