апр 202010

Много ми допадна тази презентация на възможностите на HTML5, мисля да започна с експериментите:
http://apirocks.com/html5/html5.html


тагове:
фев 182010

След написах предната статия за дублиране на input полета, се сблъсках с по-сериозен проблем – дублиране на select полета. Разбира се можех да изброя опциите от select полето в javascript-а, но това изобщо не е добра идея. Още повече, че моите полета са 5-6 с по 10тина опции и се зареждат от базата. След още малко ровене стигнах до нещо, което е по-красиво от предното:

  1. function duplicate_select(parent_id, select_id) {
  2.  var parentDiv = document.getElementById(parent_id);
  3.  var obj = document.getElementById(select_id).cloneNode(true);
  4.  parentDiv.appendChild(obj);
  5. }

Любовта ми към javascript се задълбочава…


тагове:
фев 092010

Когато ми се наложи да пиша javascript, обикновено гледам да свърша възможно най-бързо и да се върна на приятелска PHP-територия. Затова когато трябваше да напиша динамично добавяне на input елементи, набързо написах първото, което ми хрумна:

  1. <div id="band_container'>
  2. <div class="label">Favourite band(s):</div>
  3. <div class="text-box"><input type="text" name="bands[]" /></div>
  4. <div class="add-button"><a onclick="add_band_input();">add another</a></div>
  5. <div class="clear"></div>
  6. </div>

и съответно в js-файла:

  1. function add_band_input() {
  2.  document.getElementById("band_container").innerHTML += '<div class="label">&nbsp;</div><div class="text-box"><input type="text" name="bands[]" /></div><div class="clear"></div>';
  3. }

Проработи и забравих за него. Няколко дни по-късно забелязах, че ако въведа нещо в input полето и след това натисна линка add another, въведеното от мен изчезва. Това беше проблем. След известно проучване – главно ровене из stackoverflow.com – намерих решение:

  1. function add_band_input() {
  2.  var parentDiv = document.getElementById("band_container");
  3.  var newDiv1 = document.createElement("div");
  4.  var newDiv2 = document.createElement("div");
  5.  var newDiv3 = document.createElement("div");
  6.  newDiv1.innerHTML = '<div class="label">&nbsp;</div>';
  7.  parentDiv.appendChild(newDiv1);
  8.  newDiv2.innerHTML = '<div class="text-box"><input type="text" name="bands[]" /></div>';
  9.  parentDiv.appendChild(newDiv2);
  10.  newDiv3.innerHTML = '<div class="clear"></div>';
  11.  parentDiv.appendChild(newDiv3);
  12. }

Оказа се, че като използвам DOM, кодът е не само по-красив, но и по-стабилен. Това някак ме накара да почувствам непозната до този момент близост с javascript.


тагове:
яну 282010

За целите на тази статия ми трябваше начин да покажа 2 последователни тирета --. Проблемът беше, че Wordpress „превежда“ двете тирета в едно по-дълго. И после като го копипейстнеш в конзолата, командата не ти работи и псуваш този, който е написал статия без да я тества. Просто е, само пишете &#45;&#45;

Сега остава да напиша статия за това как показах кода за двете тирета, вместо да покажа самите тирета…

Източник: Simple Thoughts


тагове:
© 2009 Dimitar Chakarov | Suffusion WordPress theme
Creative Commons License
Произведението ползва условията на Криейтив Комънс договор
preload