Q - ค่าสีไม่เปลี่ยนตามประเภทของสีที่เลือกไว้ในถาดสี

พูดคุยแลกเปลี่ยน ปัญหา การเขียน JavaScript เครื่องมือ AJAX Web 2.0 AJAX Framework jQuery และ Node.JS รวมถึง Framework Express ของ Node.JS ทำงานฝั่ง Server

Moderator: mindphp

ภาพประจำตัวสมาชิก
Buck Kittisak
PHP VIP Members
PHP VIP Members
โพสต์: 8998
ลงทะเบียนเมื่อ: 07/05/2024 9:10 am

Q - ค่าสีไม่เปลี่ยนตามประเภทของสีที่เลือกไว้ในถาดสี

โพสต์ที่ยังไม่ได้อ่าน โดย Buck Kittisak »

1.jpg
1.jpg (37.17 KiB) Viewed 4542 times
2.jpg
2.jpg (21.29 KiB) Viewed 4542 times

โค้ด: เลือกทั้งหมด

    <script>
        $(document).ready(function () {
            $("#tlandc_color").on('input', function () {
                updateColorValue();
            });     
            // ใช้ Spectrum สำหรับตัวเลือกสี
            $("#convert_color").spectrum({
                preferredFormat: "hex",
                showInput: true,
                allowEmpty: true,
                showPalette: true,
                palette: [
                    ['#000000', '#ffffff', '#ff0000', '#00ff00', '#0000ff'],
                    ['#ffff00', '#00ffff', '#ff00ff', '#c0c0c0', '#808080']
                ],
                change: function (color) {
                    var colorType = $('#convert_color_type').val(); 
                    var colorValue;
        
                    if (colorType === 'RGB') {
                        colorValue = color.toRgbString(); // แปลงเป็น RGB
                    } else if (colorType === 'Color name') {
                        colorValue = tinycolor(color).toName() || color.toHexString(); 
                    } else {
                        colorValue = color.toHexString(); /
                    }
        
                    $('#convert_color').val(colorValue); 
                },
                hide: function(color) {
                    updateColorValue(); 
                }
            });
        
            function updateColorValue() {
                var selectedColorType = $("#convert_color_type").val(); 
                var selectedColor = $("#tlandc_color").val(); 
                var colorValue;
        
                if (selectedColorType === "RGB") {
                    // ใช้ TinyColor เพื่อแปลงจาก Hex เป็น RGB
                    colorValue = tinycolor(selectedColor).toRgbString(); 
                } else if (selectedColorType === "Hex") {
                    colorValue = selectedColor; 
                } else if (selectedColorType === "Color name") {
                    colorValue = tinycolor(selectedColor).toName() || selectedColor; 
                }
        
                $("#convert_color").val(colorValue); 
            }
        });
        
        // ตรวจสอบค่าของสีเมื่อมีการป้อนข้อมูล
        document.getElementById('tlandc_color').addEventListener('input', function() {
            console.log(this.value); 
        });
        </script>
ปัญหาคือ เลือกประเภทสีไว้เป็น RGB และกดเลือกสีจากถาดสี ในช่องสีแสดงเป็นค่า RGB ปกติ หลังจากนั้นกด OK ค่าสีเปลี่ยนไปเป็น HEX อันนี้ใครพอมีวิธีแก้หรือแนะนำได้บ้างครับ
ภาพประจำตัวสมาชิก
eange08
PHP VIP Members
PHP VIP Members
โพสต์: 23680
ลงทะเบียนเมื่อ: 22/12/2020 10:09 am

Re: Q - ค่าสีไม่เปลี่ยนตามประเภทของสีที่เลือกไว้ในถาดสี

โพสต์ที่ยังไม่ได้อ่าน โดย eange08 »

ได้ลอง console.log เช็คว่าช่องประเภทสีรับอะไรมาหรือยังค่ะ
JavaScript & jQuery Ajax & Node.JS-1.png
JavaScript & jQuery Ajax & Node.JS-1.png (3.77 KiB) Viewed 4528 times
ภาพประจำตัวสมาชิก
eange08
PHP VIP Members
PHP VIP Members
โพสต์: 23680
ลงทะเบียนเมื่อ: 22/12/2020 10:09 am

Re: Q - ค่าสีไม่เปลี่ยนตามประเภทของสีที่เลือกไว้ในถาดสี

โพสต์ที่ยังไม่ได้อ่าน โดย eange08 »

eange08 เขียน: 04/10/2024 1:17 pm ได้ลอง console.log เช็คว่าช่องประเภทสีรับอะไรมาหรือยังค่ะ
JavaScript &amp; jQuery Ajax &amp; Node.JS-1.png
ลองเช็คด้วยค่าที่รับมา กับเงื่อนไขที่เช็คในการ convert ตรงกันหรือไม่

โค้ด: เลือกทั้งหมด

function updateColorValue() {
                var selectedColorType = $("#convert_color_type").val();  <<---เช็คที่รับมาเป็นอะไร ตรงกับเงื่อนไขที่เช็คไว้ไหม
                var selectedColor = $("#tlandc_color").val(); 
                var colorValue;
        
                if (selectedColorType === "RGB") { <<---- ลองเปลี่ยนเป็นแค่ == 
                    // ใช้ TinyColor เพื่อแปลงจาก Hex เป็น RGB
                    colorValue = tinycolor(selectedColor).toRgbString(); 
                } else if (selectedColorType === "Hex") {
                    colorValue = selectedColor; 
                } else if (selectedColorType === "Color name") {
                    colorValue = tinycolor(selectedColor).toName() || selectedColor; 
                }
        
                $("#convert_color").val(colorValue); 
            }
ภาพประจำตัวสมาชิก
Buck Kittisak
PHP VIP Members
PHP VIP Members
โพสต์: 8998
ลงทะเบียนเมื่อ: 07/05/2024 9:10 am

Re: Q - ค่าสีไม่เปลี่ยนตามประเภทของสีที่เลือกไว้ในถาดสี

โพสต์ที่ยังไม่ได้อ่าน โดย Buck Kittisak »

ขอบคุณครับ เดี่ยวจะลองเช็คอีกทีตามที่แนะนำครับ
ภาพประจำตัวสมาชิก
Buck Kittisak
PHP VIP Members
PHP VIP Members
โพสต์: 8998
ลงทะเบียนเมื่อ: 07/05/2024 9:10 am

Re: Q - ค่าสีไม่เปลี่ยนตามประเภทของสีที่เลือกไว้ในถาดสี

โพสต์ที่ยังไม่ได้อ่าน โดย Buck Kittisak »

eange08 เขียน: 04/10/2024 1:24 pm
eange08 เขียน: 04/10/2024 1:17 pm ได้ลอง console.log เช็คว่าช่องประเภทสีรับอะไรมาหรือยังค่ะ
JavaScript &amp; jQuery Ajax &amp; Node.JS-1.png
ลองเช็คด้วยค่าที่รับมา กับเงื่อนไขที่เช็คในการ convert ตรงกันหรือไม่

โค้ด: เลือกทั้งหมด

function updateColorValue() {
                var selectedColorType = $("#convert_color_type").val();  <<---เช็คที่รับมาเป็นอะไร ตรงกับเงื่อนไขที่เช็คไว้ไหม
                var selectedColor = $("#tlandc_color").val(); 
                var colorValue;
        
                if (selectedColorType === "RGB") { <<---- ลองเปลี่ยนเป็นแค่ == 
                    // ใช้ TinyColor เพื่อแปลงจาก Hex เป็น RGB
                    colorValue = tinycolor(selectedColor).toRgbString(); 
                } else if (selectedColorType === "Hex") {
                    colorValue = selectedColor; 
                } else if (selectedColorType === "Color name") {
                    colorValue = tinycolor(selectedColor).toName() || selectedColor; 
                }
        
                $("#convert_color").val(colorValue); 
            }
ลองใช้ == ยังไม่ได้ครับ และเช็คค่ายังไม่มีข้อมูล

โค้ด: เลือกทั้งหมด

var selectedColorType = $("#convert_color_type").val();
                console.log(selectedColorType); < ตรวจสอบค่าใน console
ภาพประจำตัวสมาชิก
eange08
PHP VIP Members
PHP VIP Members
โพสต์: 23680
ลงทะเบียนเมื่อ: 22/12/2020 10:09 am

Re: Q - ค่าสีไม่เปลี่ยนตามประเภทของสีที่เลือกไว้ในถาดสี

โพสต์ที่ยังไม่ได้อ่าน โดย eange08 »

Buck Kittisak เขียน: 05/10/2024 10:06 am
eange08 เขียน: 04/10/2024 1:24 pm
eange08 เขียน: 04/10/2024 1:17 pm ได้ลอง console.log เช็คว่าช่องประเภทสีรับอะไรมาหรือยังค่ะ
JavaScript &amp; jQuery Ajax &amp; Node.JS-1.png
ลองเช็คด้วยค่าที่รับมา กับเงื่อนไขที่เช็คในการ convert ตรงกันหรือไม่

โค้ด: เลือกทั้งหมด

function updateColorValue() {
                var selectedColorType = $("#convert_color_type").val();  <<---เช็คที่รับมาเป็นอะไร ตรงกับเงื่อนไขที่เช็คไว้ไหม
                var selectedColor = $("#tlandc_color").val(); 
                var colorValue;
        
                if (selectedColorType === "RGB") { <<---- ลองเปลี่ยนเป็นแค่ == 
                    // ใช้ TinyColor เพื่อแปลงจาก Hex เป็น RGB
                    colorValue = tinycolor(selectedColor).toRgbString(); 
                } else if (selectedColorType === "Hex") {
                    colorValue = selectedColor; 
                } else if (selectedColorType === "Color name") {
                    colorValue = tinycolor(selectedColor).toName() || selectedColor; 
                }
        
                $("#convert_color").val(colorValue); 
            }
ลองใช้ == ยังไม่ได้ครับ และเช็คค่ายังไม่มีข้อมูล

โค้ด: เลือกทั้งหมด

var selectedColorType = $("#convert_color_type").val();
                console.log(selectedColorType); < ตรวจสอบค่าใน console
- ลองเช็คดูว่าชื่อที่เรียก element "convert_color_type" นี้ตรงกับที่ใช้ในฟอร์มหรือไม่
เช็คการรับค่าจุดอื่นด้วย console.log() ที่ใช้ตอนเลือกสีเสร็จด้วยค่ะ
- ที่ใช้ == ยังไม่ได้เพราะ selectedColorType มันไม่มีค่ามาให้เข้าเงื่อนไข
ภาพประจำตัวสมาชิก
Buck Kittisak
PHP VIP Members
PHP VIP Members
โพสต์: 8998
ลงทะเบียนเมื่อ: 07/05/2024 9:10 am

Re: Q - ค่าสีไม่เปลี่ยนตามประเภทของสีที่เลือกไว้ในถาดสี

โพสต์ที่ยังไม่ได้อ่าน โดย Buck Kittisak »

Note พูดคุยภายในทีม: - เช็คตาม Loop ว่าเข้าที่ Loop ไหน
- เช็คการใช้ Function การใช้งานแต่ละ Loop
ตอบกลับโพส

ผู้ใช้งานขณะนี้

สมาชิกกำลังดูบอร์ดนี้: ไม่มีสมาชิกใหม่ และบุคลทั่วไป 2