我很确定这必须在php中。。。但让我解释一下我在找什么。
我在我的网站上有一个输入框,用户在其中输入的内容被设置为css
例如
body{
Background-color: [text from the input goes here];
}
使用javascript/jquery,您可以执行以下操作:
请参阅(尝试输入#000、绿色或其他颜色):http://jsfiddle.net/mH6MK/
$( document ).ready(function() {
$('input[name=getColor]').change(function() {
var $color = $("#getColor").val();
$('body').css('backgroundColor', $color);
});
});
或者php会是这样的:
<?
$color = $_GET['color'];
echo '<style type="text/css">body{background:'.$color.';}</style>';
?>
您可以使用jquery,但如果您不使用jquery的话,我建议使用纯javascript。它更快、更强大。
链接到演示=>http://jsfiddle.net/77Bjx/
html
<input placeholder="enter hex color w/o #" id="bg" type="text"/>
<input type="button" value="submit" onClick="setBG()"/>
javascript
function setBG() {
var elem = document.getElementById('bg')
document.body.style.backgroundColor = '#' + elem.value;
}
你可以改进这个功能。也许可以设置一个检查来确保它是一个有效的十六进制值?检查它是否以#开头,如果不是,则输入一。等等
经过一些测试,我发现可以使用设置机身背景颜色
document.body.style.backgroundColor = "purple";
如果你有input
元素的name
/id
,那么它的值是:
document.getElementsByName(elementName).value
所以把这些部分组合在一起应该不会太难。只需通过onBlur
监听器来监听输入的焦点何时发生变化。
你说得对!您可以使用PHP,但可以考虑使用jquery,并通过$('input')获取输入元素,然后获取值并添加css。
假设您有一个id为#css的输入,我将使用on()方法并使用事件委派来针对特定的id,在本例中为#css。
你可以这样做:
$('form").on('submit', '#css', function()) {
var value = $this.val();
$('body').css('background-color', value);
});
您可能需要检查从用户那里收到的值,并确保它是正确的css十六进制颜色值或其他什么。某种形式的验证。这只是您可以使用的几种方法之一,PHP也是一种选择。
为什么不使用jquery?
$('body').css('backgroundColor', [input from box]);