2016-03-18 16 views
-2

を取得します。PHP - 私は現在、いくつかのdynamiclyが<code><input type='color'></code>フィールドを追加した、と私は別のphpファイルにそれらの値を投稿したい含まれてフォームを作ってるんだカラー入力値

これをどのように達成できますか? JavaScriptを使用せずに行うことは可能ですか?

サンプル入力:

<input name='ID From database' type='color' id='colorpicker' value='value from DB'> 

JS:

var color = $('#colorpicker').val(); 
colorpicker = $('#colorpicker'); 
$('#colorpicker').on('change', function() { 
    colorpicker.value(this.value); 
}); 
+0

イベントを試しましたか? – wawawoom

+0

私はjavascriptで値を取得しようとしましたが、入力フィールド@Connumのインスタンスが複数あるため失敗する可能性があります – Deimantas

+1

コードを投稿してヘルプを表示してください。 – wawawoom

答えて

0

あなたは含むonclickの機能を隠し入力の値を設定することにより、六角値を提出することができます:

 document.getElementById('colorpicker_value').value = document.getElementById('colorpicker').value; 

たりに

 colorpicker_value.value(this.value); 

を置くを値を直接入力したくない場合は、隠し入力の値を設定するスクリプトカラーピッカー -

 <input type="hidden" name="colorpicker_value"/> 

またはあなたがそうあなたが上記のコメントのとおり、直接$_POST['colorpicker']変数としてその値を拾うことができますカラーピッカーに「名前」name="colorpicker"を与えることができます。

あなたがそれらを知っている場合は、ページがPHPから配信された時点での値をプリロードすることができます:あなたのDBからの値が進値ですと仮定すると、

 <input type="color" class="colorpicker" name="colorpicker<?php echo htmlspecialchars($unique_number); ?>" value="<?php echo htmlspecialchars($value_from_DB); ?>"> 

あなたが提出する複数のcolorpickersを持っている場合は、限り、あなたはそれぞれ1に一意の名前を与えるようあなたは関係なく、自分のクラスやIDのPHPに独立してその値を収集することができるようになります。

Function that converts hex color values to an approximate color name?

これはへのリンクです:

次に、あなたがRGBに変換し、これらのSO答えに実証されているように、アレイを使用して生成された値を調べることにより、六角値を調べることができ同じページ上のJakeからのHex/RGBからテキストへのより大きい配列 - それは多くの票を得ることはできませんでしたが、彼は多くの作業を要したように見えます。

それは任意の懸念がある場合は、独自の配列を作成し、直接六角カラー名のColorPicker要素がまったくIE8で表示されません。ところでhttp://www.w3schools.com/colors/colors_names.asp

のこのリストを使用して六角値を検索することができるかもしれません - それはテキスト入力としてのみ表示されます - 私はしばらくの間困惑しました。

+0

ありがとう、しかしそれは正しいが、私はすでに解決策を見つけた。それは私の行動ファイルのバグだった – Deimantas

+0

@Deimantas喜んでそれを知っている - 私は一緒にすべてを引っ張って楽しんでいた。 – Steve

0

あなただけのPHPページにデータを投稿すると、あなたのDBへの挿入を行う必要があります。

//html page 
<form action="receive.php"> 
    <input type="text" name="color1"> 
    <input type="text" name="color2"> 
    <button type="submit">Submit</button> 
</form> 

//php page 
<?php 
$color1=$_POST['color1']; 
$color2=$_POST['color2']; 

//the inserts depend on what type of method you want to interact with the db but here is a pdo example 

$db = new PDO("mysql:host=YOURHOST;dbname=YOURDB",YOURUSER,YOURPASSWORD); 

$statement = $link->prepare("INSERT INTO YOURTABLE(color1, color2) 
    VALUES(:color1, :color2)"); 
$statement->execute(array(
    "color1" => $color1, 
    "color2" => $color2 
)); 
+0

はい、入力はtype = 'color'です。タイプ= 'text'ではなく値を取得したいのです – Deimantas

+0

フィールドは**動的に追加** – Deimantas

関連する問題

 関連する問題