我很确定这是必须在PHP中......但让我解释我在找什么。使用表单字段值自定义CSS属性
我有我的网站上输入框和以往用户输入什么在那里被设置为CSS
例如
body{
Background-color: [text from the input goes here];
}
我很确定这是必须在PHP中......但让我解释我在找什么。使用表单字段值自定义CSS属性
我有我的网站上输入框和以往用户输入什么在那里被设置为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的?
$('body').css('backgroundColor', [input from box]);
随着一些测试,我发现可以使用以下设置身体背景颜色:
document.body.style.backgroundColor = "purple";
,如果你有input
元素的name
/id
,那么它的价值是:
document.getElementsByName(elementName).value
所以应该不会太困难把这些拼凑。只要听听输入焦点何时改变,可能通过onBlur
听众。
你可以使用jquery,但如果你不使用jquery,我建议使用纯javascript。它速度更快,功能更强大。
链接演示=>http://jsfiddle.net/77Bjx/
<input placeholder="enter hex color w/o #" id="bg" type="text"/>
<input type="button" value="submit" onClick="setBG()"/>
function setBG() {
var elem = document.getElementById('bg')
document.body.style.backgroundColor = '#' + elem.value;
}
您可以用比改善此功能。也许设置一个检查,以确保它是一个有效的十六进制值? 检查它是否以#开头,如果不是则输入一个。等等。
你绝对是对的!你可以使用PHP,但你可以考虑使用jQuery并通过$('input')获取输入元素并获取值并添加css。
假设你有一个ID为#css的输入,我打算使用on()方法并使用事件委托来定位在本例中为#css的特定ID。
你会做这样的事情:
$('form").on('submit', '#css', function()) {
var value = $this.val();
$('body').css('background-color', value);
});
您可能要检查你从用户获得的价值,并确保它是正确的CSS的十六进制颜色值什么的。某种形式的验证。 这只是几种方法之一,PHP也是一种选择。
您需要使用JavaScript或PHP进行此操作 – 1andsock
输入是表单的一部分,对吧?表单如何处理?一旦你有了变量,你只需要改变body元素的style属性。 JavaScript可能已经足够了。 – icedwater