Jump to content
php.lv forumi
  • 0

chars remaining.


laucinieks

Question

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 by laucinieks
Link to comment
Share on other sites

Recommended Posts

  • 0

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 by laucinieks
Link to comment
Share on other sites

  • 0

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 by codez
Link to comment
Share on other sites

  • 0

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 by Maris-S
Link to comment
Share on other sites

  • 0

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 by laucinieks
Link to comment
Share on other sites

  • 0

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.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...