วันพฤหัสบดีที่ 6 ตุลาคม พ.ศ. 2554

การส่งค่า jquery iframe

การส่ง-รับค่า ไปยัง iframe โดยใช้ Jquery

.contents()

ง่ายมากครับ
$('#iframeid').contents().find('#idselector').val();

ขอกจากนี้ ยังมีรายละเอียดส่วนอื่นลองศึกษาดูตาม link ครับ

http://simple.procoding.net/2008/03/21/how-to-access-iframe-in-jquery/

http://praveenbattula.blogspot.com/2009/09/access-iframe-content-using-jquery.html


HTML:

ตัวอย่างมีการสร้าง iframe

ใน IFrameExample.htm มีการสร้าง hidden field

แล้วเราจะ ส่งค่าไปอย่างไร....

var $currentIFrame = $('#uploadIFrame');
$currentIFrame.contents().find("#hiddenExample").val("Value from parent file.");


แล้วถ้าเราจะ รับค่าไปใช้หล่ะ....

var varHiddenfield=$currentIFrame.contents().find("#hiddenExample").val();

วันพุธที่ 28 กันยายน พ.ศ. 2554

ckeditor เพิ่มหน้ายิ้ม (smilies) เพิ่ม emoticon

ใน FCKeditor จะมีปุ่มสำหรับใส่หน้ายิ้ม (smilies) แต่ที่ให้มาไม่ค่อยสวยเท่าไหร่ ซึ่งเราสามารถเปลี่ยนได้ โดยเอาหน้ายิ้มมาจากที่อื่นที่สวยงามกว่าครับ เช่น

  • โมดูล Smileys มีหน้ายิ้มชุด Roving โดย Hubert Florin ซึ่งสวยดี
  • Mazes Mini & Mazes Mini 2 โดย MazeNL77 แจ่ม
  • มีหน้ายิ้มที่ไหนสวยๆอีกช่วยแนะนำด้วยครับ ^ ^

วิธีเพิ่มหน้ายิ้มก็ทำได้โดย

  1. ดาวน์โหลดหน้ายิ้ม และใส่ไว้ภายใต้ FCKeditor โมดูล เช่น sites/all/modules/fckeditor/fckeditor/editor/images/smiley/Roving สำหรับ Roving
  2. แก้ไฟล์ fckeditor.config.js ใน sites/all/modules/fckeditor โดยเพิ่มประมาณนี้สำหรับ Roving
    FCKConfig.SmileyPath = FCKConfig.BasePath + 'images/smiley/Roving/' ; FCKConfig.SmileyImages = ['angry.png','arrow.png','aw.png','beer.png','bigsmile.png','cash.png','cool.png','crazy.png','crown.png','davie.png','drunk.png','evil.png','flat.png','ghost.png','glasses.png','grade.png','hat.png','innocent.png','lol.png','love.png','mail.png','mark.png','oups.png','party.png','puzzled.png','quest.png','sad.png','santa.png','sexy.png','shock.png','shy.png','sick.png','smile.png','star.png','steve.png','sushi.png','tired.png','tongue.png','wink.png'] ;
    ที่มา ball.in.th 
    หรือแบบละเอียด  
    รูปสื่ออารมณ์ (Emoticon หรือ Smiley)

    CKEditor เองก็มีความสามารถที่จะให้เราหรือผู้ใช้งาน "แทรก"

    รูปสื่ออารมณ์ลงไปในเอกสารหรือสิ่งพิมพ์ของเราได้ แต่ว่ารูปสื่ออารมณ์ที่มากับ CKEditor นั้นมันช่าง... ไม่งาม ในความรู้สึกผมนะครับ ดังนั้นผมก็จะแก้ไขเจ้ารูปสื่ออารมณ์จากหัวกลมๆสีเหลืองธรรมดาๆ (รูปที่ 1) เป็นอะไรอย่างอื่นที่ดูดีมีชาติตระกูลขึ้นมานิดนึง


    รูปที่ 1 รูปสื่ออารมณ์ชุดมาตรฐานที่มากับ CKEditor

    โครงสร้างของไดเร็กทอรี่ที่เกี่ยวข้อง
    ไดเร็กทอ รี่ที่เก็บรูปสื่ออารมณ์ของ CKEditor จะอยู่ในไดเร็กทอรี่ images ซึ่งอยู่ในลำดับชั้นที่สาม (นับจาก ckeditor)
    [WebApplicationRootDirectory]
    + [App_Data]
    . . .
    + [ckeditor]
    + [images]
    + [lang]
    + [plugins]
    + [a11yhelp]
    . . .
    + [smiley]
    + [dialogs]
    - smiley.js
    + [images] <-- ไดเร็กทอรี่ที่เก็บรูปสื่ออารมณ์
    + [skins]
    + [themes]
    . . .

    การแก้ไขรูปสื่ออารมณ์
    เมื่อ เรารู้ที่เก็บรูปสื่ออารมณ์แล้วเราก็เริ่มแก้ไขรูปได้เลย วิธีแรก ง่ายๆ ค่อนข้างจะเกรียนนิดนึงครับ คือหารูปไอคอนที่เราชอบ มาบันทึกทับรูปเดิมเข้าไป ไม่ต้องแก้ไขโค้ดอะไรทั้งสิ้น เพียงแต่รู้ชื่อไฟล์รูปเท่านั้น (ไฟล์รูปดั้งเดิม มี 21 ไฟล์ดังต่อไปนี้ครับ angel_smile.gif, angry_smile.gif, broken_heart.gif, confused_smile.gif, cry_smile.gif, devil_smile.gif, embaressed_smile.gif, envelope.gif, heart.gif, kiss.gif, lightbulb.gif, omg_smile.gif, regular_smile.gif, sad_smile.gif, shades_smile.gif, teeth_smile.gif, thumbs_down.gif, thumbs_up.gif, tounge_smile.gif, whatchutalkingabout_smile.gif และ wink_smile.gif) แต่วิธีนี้ ถ้าไม่แบ็คอัพรูปไว้รูปต้นฉบับเดิมก็จะหายหมดนะครับ

    วิธี ที่ 2 วิธีนี้ค่อนข้างง่ายครับ เพราะเราเพียงแค่ปรับแต่งใน config.js เท่านั้นเอง ซึ่งสำหรับการแก้ไขหรือปรับแต่งรูปสื่ออารมณ์นั้นเราจะต้องยุ่งเกี่ยวกับตัว แปร 3 ตัว คือ smiley_path, smiley_images และ smiley_descriptions โดยที่ตัวแปร smiley_path นั้นเป็นตัวแปรที่ระบุ path หรือไดเร็กทอรี่ที่เก็บไฟล์รูปภาพสื่ออารมณ์ครับ เช่น หากเราเก็บชุดรูปสื่ออารมณ์ไว้ภายใต้ไดเร็กทอรี่ [drive]:\[website]\ckeditor\plugins\smiley\mysmiley\ เราก็ระบุเพียงแค่ "ckeditor/plugins/smiley/mysmiley/" เท่านั้นครับ หรืออาจจะระบุแบบเต็มเลยก็ได้ เช่น "http://www.mysite.com/ckeditor/plugins/smiley/mysmiley/" ส่วน smiley_images เป็นตัวแปรอาเรย์ที่เก็บรายชื่อไฟล์รูปสื่ออารมณ์ และ smiley_descriptions เป็นตัวแปรอาเรย์ที่เก็บคำอธิบายของรูปสื่ออารมณ์แต่ละรูปซึ่งเราจะเห็น เมื่อเราเลื่อนเมาส์ไปบนรูปสื่ออารมณ์นั้น ๆ ครับ เอาล่ะครับ มาเริ่มกันเลย

    1. จัด หารูปภาพสื่ออารมณ์ หรือจะสร้างเองก็ได้ครับ แต่ตัวผมเองค่อนข้างจะยอมรับอย่างหน้าบานตาชื่นว่า ฝีมือการใช้งานโปรแกรมตกแต่งภาพและฝีมือการออกแบบนี่อยู่ในระดับอเวจีเลย จึงขออนุญาตใช้รูปที่มีอยู่แล้วและหาดาวน์โหลดได้ทั่วไปจากในเน็ตก็แล้วกัน นะครับ ซึ่งผมจะนำมาใช้ 2 ชุด คือชุดไอคอนหัวหอม และชุดลิงครับ
    2. เมื่อ ได้ชุดรูปสื่ออารมณ์มาแล้ว ก็สร้างที่อยู่ให้มันใหม่ ภายใต้ ckeditor/plugins/smiley เช่น ckeditor/plugins/smiley/onion สำหรับชุดหัวหอม หรือ ckeditor/plugins/smiley/monkey สำหรับชุดลิง
    3. แก้ไขไฟล์ config.js ดังตัวอย่างข้างล่างนี้
      CKEDITOR.editorConfig = function(config) {
      .
      .
      .
      // Custom emoticon/smiley (Onion Set)
      config.smiley_path = 'Scripts/plugins/smiley/onion/';
      config.smiley_images = ['onion_angry.gif', 'onion_blush.gif', 'onion_cheeky.gif', 'onion_cheer.gif', 'onion_cool.gif', 'onion_crying.gif',
      'onion_dead.gif', 'onion_enlightened.gif', 'onion_frown.gif', 'onion_give_me.gif', 'onion_heart.gif', 'onion_heart_broken.gif',
      'onion_indecision.gif', 'onion_laugh.gif', 'onion_not_care.gif', 'onion_sad.gif', 'onion_sigh.gif',
      'onion_smile.gif', 'onion_smoking.gif', 'onion_surprise.gif', 'onion_thankful.gif', 'onion_vomit.gif'];
      config.smiley_descriptions = ['Angry', 'Blush', 'Cheeky', 'Cheer', 'Cool', 'Crying', 'Dead', 'Enlightened', 'Frown', 'Give Me', 'Heart',
      'Heart Broken', 'Indecision', 'Laugh', 'Not Care', 'Sad', 'Sigh', 'Smile', 'Smoking', 'Surprise', 'Thankful', 'Vomit'];
      };

      จาก นั้นบันทึกไฟล์ config.js ก็เป็นอันเสร็จเรียบร้อยแล้วครับ เท่านี้เราก็จะได้ชุดรูปสื่ออารมณ์อย่างที่เราต้องการนอกเหนือจากที่ CKEditor เตรียมไว้ให้แล้ว และเราก็สามารถนำรูปสื่ออารมณ์นี้มาแทรกไว้ในเอกสารของเราได้ แต่เนื่องจากตัวแปรที่เกี่ยวกับรูปสื่ออารมณ์นี้ ไม่ได้ถูกแยกเป็นชุด ๆ เหมือนกับชุดแถบเครื่องมือ (ซึ่งเราเพิ่มและเรียกใช้โดยระบุชื่อชุดได้) ดังนั้นทุก ๆ ครั้งที่เราสร้าง instance ของ editor เราจะได้ชุดรูปสื่ออารมณ์แบบเดียวกันเสมอไปนะครับ

    เอาล่ะครับมาดูผลงานกันสัก หน่อยครับ
    รูปที่ 2 CKEditor กับ รูปสื่ออารมณ์ชุดหัวหอม
    รูปที่ 3 CKEditor กับ รูปสื่ออารมณ์ชุดลิง

    ข้อสังเกต ด้วยวิธีที่ 2 นี้ เราจะใช้ไฟล์รูปภาพจำนวนเท่าใดก็ได้ มากหรือน้อยกว่าจำนวนไฟล์ที่มากับ CKEditor (คือ 21 ไฟล์) ก็ได้ แต่สิ่งที่เราต้องคำนึงถึงก็คือ มิติของรูปสื่ออารมณ์ที่เรานำมาใช้ด้วย (ความกว้าง x ความสูง) และจำนวนของรูป เพราะหากรูปใหญ่ไปหรือมากไปอาจจะเกินเฟรม แลดูไม่งาม หรือส่วนเกินนั้นอาจจะถูกตัดทิ้งไปก็เป็นได้ครับ

    สำหรับ คราวนี้ผมก็ขอจบ เนื้อหาของบทความแต่เพียงเท่านี้ คราวหน้าจะเป็นบทความเรื่องสุดท้ายของบทความชุด"มาปรับแต่ง CKEditor ให้โดนใจกันเถอะ" แล้วครับ ซึ่งเราจะไปเล่นกับสกินของ CKEditor กัน

    ที่มา greatfriends.biz

วันพฤหัสบดีที่ 22 กันยายน พ.ศ. 2554

วิธีการตรวจสอบ checkbox หรือ selector ด้วย jQuery

http://api.jquery.com/checked-selector/

// รีเทิน เป็น true หรือ false $('#button').click(function(){ alert( $('#checkbox') .attr( 'checked' ) ); });


// รีเทิน เป็น value ของ checkbox หรือ selector $(":checked").val()

// ตรวจสบว่า แcheck id นั้น มีการ checked หรือไม่
rPrivacy=$('#Privacy2').attr('checked');
if (rPrivacy == 'checked') { if (parseInt(cRecip) ==0){ alert("Recipients is required."); return;}}