J'ai suivi un tutorial sur la création d'un sélecteur de style avec PHP et jQuery, maintenant dans le tutoriel, la fonction PHP utilise get data, qui n'est pas disponible dans le codeigniter, j'espérais que quelqu'un serait capable de aidez-moi à ranger ma tentative désolé?Codeigniter et jQuery css switcher
Ma fonction PHP
function setBackground() {
$style = $this->uri->segment(3);
setcookie("style", $style, time() + (60*60*24*30));
echo $style;
}
Mon HTML et jquery appel
<ul id="options">
<li><a class="option" href="<?php echo base_url();?>welcome/setBackground/red">Red</a></li>
<li><a class="option" href="<?php echo base_url();?>welcome/setBackground/green">Green</a></li>
</ul>
<script type="text/javascript">
$('a.option').styleSwitcher(); // calling the plugin
</script>
Le plugin jQuery
jQuery.fn.styleSwitcher = function(){
$(this).click(function(){
loadStyleSheet(this);
return false;
});
function loadStyleSheet(obj) {
$('body').append('<div id="overlay" />');
$('body').css({height:'100%'});
$('#overlay')
.css({
display: 'none',
position: 'absolute',
top:0,
left: 0,
width: '100%',
height: '100%',
zIndex: 1000,
background: 'black url(img/loading.gif) no-repeat center'
})
.fadeIn(500,function(){
$.get(obj.href+'&js',function(data){
$('#stylesheet').attr('href','/media/css/' + data + '.css');
cssDummy.check(function(){
$('#overlay').fadeOut(500,function(){
$(this).remove();
});
});
});
});
}
var cssDummy = {
init: function(){
$('<div id="dummy-element" style="display:none" />').appendTo('body');
},
check: function(callback) {
if ($('#dummy-element').width()==2) callback();
else setTimeout(function(){cssDummy.check(callback)}, 200);
}
}
cssDummy.init();
}
En cliquant sur le lien pour changer la feuille de style I obtenir ce e rror rturned via Firebug,
Une erreur est survenue
L'URI a soumis refusé caractères.
l'URL qui est envoyé est,
http://mywebsite/index.php/welcome/setBackground/green&js
cet exemple est moi cliquant sur le choix vert.
merci, qui s'est débarrassé de mon erreur mais la variable de données est vide, savez-vous pourquoi ce serait? – Udders
voir l'onglet net/xhr dans firebug pour voir ce qui est retourné en appelant l'URL. Peut-être que vous obtenez le mauvais segment. je changerai funcion pour "function setBackground ($ style) {" et enlèverai le $ style par segment. – parserr