用PHP读取HTML5输入(类型颜色)值



我正在WordPress中创建我的第一个主题,并添加了一个主题设置页面,我在其中使用HTML5类型"颜色"的输入字段,允许主题用户选择页面上元素的颜色。

输入类型渲染和工作都很好,但在主题选项页面上,我希望它在色样/输入字段旁边显示当前所选颜色的十六进制值(例如"#FFFFFF"或"#31A1FF"或其他)的文本字符串。这部分不起作用。我是PHP的新手,所以我可能只是做错了什么。但我认为读取输入字段的value属性是可行的。它根本没有显示任何文本。

下面是我正在使用的代码。有人能帮我指出正确的方向吗?

最终,我将希望对用于其他设置的其他输入类型做同样的事情,例如不透明度/透明度值的滑块输入。但这是我的起点,我可以继续这个,其他的可能不难弄清楚。

function fp_Field_BackgroundColor () {
$options = get_option('fp-OptionsArray');
echo "<input id='fp_BackgroundColor' name='fp-OptionsArray[BackgroundColor]' type='color' value='{$options['BackgroundColor']}' />";
echo "<div float='left'>" . $_POST['fp_BackgroundColor.value'] . "</div>";
}

关于HTML5部分:

<form action="" method="post">
Select you favorite color:
<input name="clr" type="color">
<input type="submit" name="submit">
</form>

关于php部分:

<?php 
if(isset($_POST['clr']))
$selected_color= $_POST['clr'];
// To show Hexadecimal code of the selected color 
echo "Color code is:  " . $selected_color;
?>

为了在表单提交后保留/保留所选颜色,将提交给服务器的颜色重新分配到输入表单的"值"属性中。即,颜色类型的输入如下所示:

<input name="clr" type="color" value="<?= htmlspecialchars($_POST['clr']) ?>"> 

不要将name作为数组。将其作为一个简单变量

<input type='color' id='fp_BackgroundColor' name='fp-BackgroundColor' type='color' value='<?php if(isset($_POST['submit'])){echo $fp-BackgroundColor;} ?>' />

还有一件重要的事。。。。u必须指定输入"类型">

最新更新