fe-qrcode.js 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293
  1. /**
  2. * QR码生成器
  3. */
  4. baidu.qrcode = (function(){
  5. "use strict";
  6. var _bindEvents = function(){
  7. var current_tab_id = 'tabs-1';
  8. $(function() {
  9. $("#tabs").tabs();
  10. $("#tabs").bind( "tabsselect", function(event, ui) {
  11. current_tab_id = ui.panel.id;
  12. });
  13. $("#tabs").tabs( "select" , 0 );
  14. $("#confirm_button").button();
  15. $("#confirm_button").click(function(){
  16. $("#preview > img").attr("src","");
  17. var current_tab = $("#tabs").tabs('option', 'selected');
  18. var qrOpt = {};
  19. switch(current_tab){
  20. case 0 :
  21. qrOpt.chl = "URL:" + $.trim($("#tabs-0 #tab0_url").attr("value"));
  22. break;
  23. case 1 :
  24. qrOpt.chl = $.trim($("#tabs-1 #tab1_text").attr("value"));
  25. break;
  26. case 2 :
  27. qrOpt.chl = "tel:"+$.trim($("#tabs-2 #tab2_telno").attr("value"));
  28. break;
  29. case 3 :
  30. qrOpt.chl = $("#tabs-3 [name=tab3_type]:checked").attr("value")+":"+$.trim($("#tabs-3 #tab3_telno").attr("value"))+":"+$.trim($("#tabs-3 #tab3_message").attr("value"));
  31. break;
  32. case 4 :
  33. qrOpt.chl = "mailto:"+$.trim($("#tabs-4 #tab4_email").attr("value"));
  34. break;
  35. case 5 :
  36. qrOpt.chl = "BEGIN:VCARD\nVERSION:3.0\n";
  37. var v = $.trim($("#tabs-5 #tab5_FormattedName").attr("value"));
  38. qrOpt.chl += v ? ("FN:"+v+"\n") : "";
  39. v = $.trim($("#tabs-5 #tab5_Telephone").attr("value"));
  40. qrOpt.chl += v ? ("TEL:"+v+"\n") : "";
  41. v = $.trim($("#tabs-5 #tab5_Email").attr("value"));
  42. qrOpt.chl += v ? ("EMAIL:"+v+"\n") : "";
  43. v = $.trim($("#tabs-5 #tab5_X-MSN").attr("value"));
  44. qrOpt.chl += v ? ("X-MSN:"+v+"\n") : "";
  45. v = $.trim($("#tabs-5 #tab5_Organization").attr("value"));
  46. qrOpt.chl += v ? ("ORG:"+v+"\n") : "";
  47. v = $.trim($("#tabs-5 #tab5_Title").attr("value"));
  48. qrOpt.chl += v ? ("TITLE:"+v+"\n") : "";
  49. v = $.trim($("#tabs-5 #tab5_Address").attr("value"));
  50. qrOpt.chl += v ? ("ADR:"+v+"\n") : "";
  51. v = $.trim($("#tabs-5 #tab5_URL").attr("value"));
  52. qrOpt.chl += v ? ("URL:"+v+"\n") : "";
  53. qrOpt.chl += "END:VCARD";
  54. break;
  55. }
  56. qrOpt.chs = $("#options #opt_width").attr("value")+"x"+$("#options #opt_height").attr("value");
  57. qrOpt.cht = "qr";
  58. qrOpt.chld = "|1";
  59. qrOpt.choe = "UTF-8";
  60. $("#preview").html('<img src="http://chart.googleapis.com/chart?' + $.param(qrOpt) + '">');
  61. $('#fieldset_qr').show();
  62. });
  63. });
  64. };
  65. var _init = function(){
  66. $(function(){
  67. _bindEvents();
  68. $('#tab0_url').focus();
  69. });
  70. };
  71. return {
  72. init : _init
  73. };
  74. })();
  75. baidu.qrcode.init();