2016-03-18 25 views
-2

Şu anda dinamik olarak eklenen birkaç tane <input type='color'> alanları içeren bir form hazırlıyorum ve değerlerini başka bir php dosyasına göndermek istiyorum.PHP - Renk giriş değeri al

Bunu nasıl başarabilirim? JavaScript olmadan yapmak mümkün mü?

Numune girişi:

<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

Etkinlik bir şey denediniz mi? – wawawoom

+0

Javascript ile değer elde etmeye çalıştım, ancak bu giriş alanının birden çok örneğine sahip olacağım çünkü başarısız olabilir @Connum – Deimantas

+1

Yardım almak için kodunuzu gönderin. – wawawoom

cevap

0

Sen içeren onclick fonksiyonu ile gizli bir girişin değerini ayarlayarak Hex değerini gönderebilir:

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

veya içine

 colorpicker_value.value(this.value); 

koymak senin değeri doğrudan almak istemiyorsanız, gizli girdinin değerini ayarlamak için komut dosyası colorpicker -

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

veya bir "isim" name="colorpicker" yüzden yukarıdaki açıklamalar uyarınca bir $_POST['colorpicker'] değişken olarak doğrudan değerini alabilirsiniz colorpicker verebilir. Bunları biliyorsanız

Sen sayfa PHP teslim edilir noktada değerleri önyükleyebilir: DB değerleri varsayarsak

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

Hex değerlerdir.

Gönderilecek birden fazla renk kartelasına sahipseniz, her birine benzersiz bir ad verdiğiniz sürece, sınıflarını veya kimliklerini dikkate almaksızın PHP'de bağımsız olarak değerlerini toplayabilirsiniz.

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

Bu bağlantısıdır:

Sonra RGB dönüştürerek ve bu SO yanıtlarını gösterilmiştir gibi bir dizi kullanılarak üretilen değerleri bakarak Hex değerini aramak olabilir Aynı sayfadaki Jake'dan gelen Hex/RGB'den Text'e daha büyük değerler dizisi - pek oy alamadı ama ona çok fazla iş getirmiş gibi görünüyor.

herhangi bir endişe ise kendi diziyi yapmak ve doğrudan Hex renk adlarının bir colorpicker elemanı hiç ie8 görünmüyor arada http://www.w3schools.com/colors/colors_names.asp

bu listeyi kullanarak Hex değerleri aramak mümkün olabilir - sadece bir metin girişi olarak ortaya çıkıyor - bir süre şaşkınım vardı.

+0

eklenmiştir, ancak bu doğru olmasına rağmen zaten bir çözüm buldum. Bu benim eylem dosya – Deimantas

+0

@Deimantas Glad bir bilmece olduğunu biliyorum - hep birlikte çekerek eğlendim. – Steve

0

Sadece bir php sayfasına veri göndermek ve sonra db içine ekler yapmak zorunda kalacaktır.

Örnek

//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

evet, ama giriş type = 'color', ve bunun değerini almak istiyorum, type = 'text' – Deimantas

+0

ve Bu alanlar için ** dinamik olarak ** – Deimantas