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

时间:2014-02-25 06:31:29

标签: php html5 wordpress

我正在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>";
}

2 个答案:

答案 0 :(得分:4)

在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;
      ?>

在表单提交后保留/保留所选颜色,将提交给服务器的颜色分配回输入表单的“value”属性。即颜色类型的输入如下所示:

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

答案 1 :(得分:0)

不要把name作为array.take它作为一个简单的变量

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

还有一个更重要的事情......你必须指定输入'type'