2014-02-25 42 views
2

我在WordPress中创建我的第一个主题,并添加了一个主题设置页面,我在其中使用HTML5类型“颜色”的输入字段以允许主题用户选择页面上元素的颜色。用PHP读取HTML5输入(输入颜色)值

输入类型呈现并工作得很好,但在主题选项页上,我希望它显示当前选定颜色的十六进制值(例如“#FFFFFF”或“#31A1FF”或其他)的文本字符串在色样/输入栏旁边。这部分不起作用。我对PHP相当陌生,所以我可能只是在做一些错误的事情。但我想读取输入字段的值属性将工作。它不是 - 它根本不显示任何文字。

以下是我正在使用的代码。任何人都可以帮助我指出正确的方向吗?

最终,我会希望对其他输入类型使用其他输入类型,例如不透明度/透明度值的滑块输入。但是,这是我的出发点,我可以用这个开始,其他人可能不会很难弄清楚。

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>"; 
} 

回答

1

在您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="<?php echo $_POST['clr'];?>"> 
+0

我会非常不建议将'$ _POST'的值回显为HTML,否则就是+1。 '$ selected_color'也可以有一个默认值。 – ljacqu

0

不采取名字array.take它作为一个简单的变量

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

和1的小鬼的事情.... u必须指定输入 '型'

+0

你不能在变量名连字符。 '$ fp-BackgroundColor;'无效。 http://uk3.php.net/manual/en/language.variables.basics.php –