laucinieks Posted September 15, 2011 Report Share Posted September 15, 2011 (edited) Tātad, mēģinu uztaisīt jquery funkciju - characters left priekš input fielda. Consolē izmetas - val is undefined eval(substringFunction); Headerī norādīju - <script type="text/javascript" src="js/jquery-1.6.3.min.js"></script> <script type="text/javascript" src="js/jquery.limit-1.2.source.js"></script> <script type="text/javascript"> $('#job-title').limit('30','#job-title-chars'); </script> Body - Job title:<strong><div id="job-title-chars">30</div></strong> characters left <form method="post" action=""> <input type="text" value="" name="job-title" id="job-title" /> limit-1.2.source.js - (function($){ $.fn.extend({ limit: function(limit,element) { var interval, f; var self = $(this); $(this).focus(function(){ interval = window.setInterval(substring,100); }); $(this).blur(function(){ clearInterval(interval); substring(); }); substringFunction = "function substring(){ var val = $(self).val();var length = val.length;if(length > limit){$(self).val($(self).val().substring(0,limit));}"; if(typeof element != 'undefined') substringFunction += "if($(element).html() != limit-length){$(element).html((limit-length<=0)?'0':limit-length);}" substringFunction += "}"; eval(substringFunction); substring(); } }); })(jQuery); Kā to labot? Edited September 15, 2011 by laucinieks Quote Link to comment Share on other sites More sharing options...
0 daGrevis Posted September 15, 2011 Report Share Posted September 15, 2011 Eval()?! Quote Link to comment Share on other sites More sharing options...
0 laucinieks Posted September 15, 2011 Author Report Share Posted September 15, 2011 Īsti nesapratu. Quote Link to comment Share on other sites More sharing options...
0 laucinieks Posted September 15, 2011 Author Report Share Posted September 15, 2011 Atradu alternatīvu - <script type='text/javascript'> function countChar(val){ var len = val.value.length; if (len >= 30) { val.value = val.value.substr(0, 30); }else { $('#job-title-chars').text(30 - len); } }; </script> Bet viņš noiet līdz 1, nevis 0. Kā to labot? Quote Link to comment Share on other sites More sharing options...
0 Zefirs Posted September 15, 2011 Report Share Posted September 15, 2011 Kā noiet līdz 1? Parādi example @ http://jsfiddle.net/ Quote Link to comment Share on other sites More sharing options...
0 laucinieks Posted September 15, 2011 Author Report Share Posted September 15, 2011 (edited) http://jsfiddle.net/bZG75/1/ Tikai, man kaut kas tur nesanāk, neprotu ievietot visu pareizi (neskaitās vispār zemē skaitļi tur). Kā arī, kāds nevarētu izpalīdzēt un iedot man skriptu, kurš pārbauda vai input fields ar specifisku id ir tukšs un, ja ir tukšs, tad parāda pirmo div tagu ar specifisku id, bet ja nav tukšs tad parāda otru div tagu ar specifisku id? Un ja pēc tam atkal mainās no tukša uz pilna vai no pilna uz tukša, tad iepriekšējo div pataisa par neredzamu un jauno par redzamu. Līdzīgi kā man tajā piemērā ar characters left (ieliekot ķeksi parādās izņemot pazūd, bet te tikai - ja ir tukšs, tad viens div, ja pilns tad otrs.) L. Edited September 15, 2011 by laucinieks Quote Link to comment Share on other sites More sharing options...
0 daGrevis Posted September 15, 2011 Report Share Posted September 15, 2011 Īsti nesapratu. Es jau vienreiz teicu, ka eval() ir evil. Joprojām ir. Nevajag Viņu nekur, nekur. :D Quote Link to comment Share on other sites More sharing options...
0 laucinieks Posted September 15, 2011 Author Report Share Posted September 15, 2011 Uj, jā pareizi :), jāmēģina kaut kādīgi atcerēties. Varbūt vari palīdzēt ar nākošajiem 2 jautājumiem kas ir postā 6 un 4? Quote Link to comment Share on other sites More sharing options...
0 codez Posted September 15, 2011 Report Share Posted September 15, 2011 (edited) Kaut kā tā. http://jsfiddle.net/PV4KM/ html: <input type="text" />(no max)<br /> <input max="5" type="text" />(max=5)<br /> <input max="10" type="text" />(max=10)<br /> js: $('body').delegate('input','keydown',function(e){ if (e.keyCode!=8 && $(this).val().length>=$(this).attr('max')){ return false; } }); Edited September 15, 2011 by codez Quote Link to comment Share on other sites More sharing options...
0 laucinieks Posted September 15, 2011 Author Report Share Posted September 15, 2011 Codez, skaitītāju arī vajadzētu (cik ir atlicis, kā tajā, kuru es ieliku). Quote Link to comment Share on other sites More sharing options...
0 Maris-S Posted September 16, 2011 Report Share Posted September 16, 2011 (edited) Idejai: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Js length count.</title> <script type="text/javascript"> function getElement(id) { if (document.getElementById) { return document.getElementById(id); } else if (document.all) { return document.all[id]; } else if (document.layers) { return document.layers[id]; } } function set_counter(elem) { getElement('message').innerHTML = elem.getAttribute('maxlength') - elem.value.length; } </script> </head> <body> <form id="form_id" name="form_name" action="" method="post"> <div><input type="text" name="name" maxlength="30" onkeyup="javascript: set_counter(this);"></div> <div>Atlikušo simbolu skaits: <span id="message">30</span></div> </form> </body> </html> Vienīgi jāpievērš uzmanība metodei getAttribute un arī eventam onkeyup. Tos vajadzētu pārbaudīt visos pārlūkos. Ja tiek izmantots jquery, tad atbilstošās metodes varētu aizvietot ar atbilstošajām jquery funkcijām, ja mājas lapā jquei izmantosies tikai šai mazajai funkcijai, tad ir vērts papētīt šīs nianses un visu jquey nevilkt līdzi. Ui, vienīgi nepadomāju par darbībām ar pelīti (copy, paste, delete), izskatās onchange inputam nestrādā, vismaz Mozillai negāja, bet domāju informāciju sanāks internetā atrast, ja sanāks laiks paskatīšos. Edited September 16, 2011 by Maris-S Quote Link to comment Share on other sites More sharing options...
0 laucinieks Posted September 16, 2011 Author Report Share Posted September 16, 2011 (edited) Par chars remaining, ir uztaisīts :). Tagad tikai - "Kā arī, kāds nevarētu izpalīdzēt un iedot man skriptu, kurš pārbauda vai input fields ar specifisku id ir tukšs un, ja ir tukšs, tad parāda pirmo div tagu ar specifisku id, bet ja nav tukšs tad parāda otru div tagu ar specifisku id? Un ja pēc tam atkal mainās no tukša uz pilna vai no pilna uz tukša, tad iepriekšējo div pataisa par neredzamu un jauno par redzamu. Līdzīgi kā man tajā piemērā ar characters left (ieliekot ķeksi parādās izņemot pazūd, bet te tikai - ja ir tukšs, tad viens div, ja pilns tad otrs.)" L. Edited September 16, 2011 by laucinieks Quote Link to comment Share on other sites More sharing options...
0 codez Posted September 16, 2011 Report Share Posted September 16, 2011 (edited) http://jsfiddle.net/PV4KM/2/ Edited September 16, 2011 by codez Quote Link to comment Share on other sites More sharing options...
0 laucinieks Posted September 16, 2011 Author Report Share Posted September 16, 2011 codez, tavs variants jsfiddle.net ieliekot (pārveidoto manu - iet), bet manā mājaslapā neiet. nerādās tie divi elementi sānā un atlikušie simboli. Tikai strādā tas, ka pēc 30 simboliem apstājās. Quote Link to comment Share on other sites More sharing options...
0 laucinieks Posted September 16, 2011 Author Report Share Posted September 16, 2011 Viss strādā, izņemot vienu - $('body').delegate('#email','keyup',function(e){ var email = document.getElementById('email'); var filter = /^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})+$/; $($t.attr('emptys')).toggle(!filter.test(email.value)); $($t.attr('fulls')).toggle(filter.test(email.value)); }); Kā var uztaisīt pārbaudi vai ievadītais ir ēpasts, ja ir tad izvada vienu, ja nav izvada otru. Pārveidoju codez piemēru. L. Quote Link to comment Share on other sites More sharing options...
0 codez Posted September 16, 2011 Report Share Posted September 16, 2011 Ja izmanto jquery aizmirsti - nav tāda document.getElementByID, nav tāda onfocus="javascript: blabalbala", Viss tiek darīts caur jquery $(...)... Quote Link to comment Share on other sites More sharing options...
Question
laucinieks
Tātad, mēģinu uztaisīt jquery funkciju - characters left priekš input fielda.
Consolē izmetas -
Headerī norādīju -
Body -
limit-1.2.source.js -
Kā to labot?
Edited by laucinieksLink to comment
Share on other sites
17 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.