Κώδικας μέτρησης χαρακτήρων

Κώδικας, πληροφορίες, ερωτήσεις και απαντήσεις σχετικές με την JavaScript.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
panos78
Δημοσιεύσεις: 535
Εγγραφή: 15 Φεβ 2003 02:14
Τοποθεσία: Θεσσαλονικη
Επικοινωνία:

Κώδικας μέτρησης χαρακτήρων

Δημοσίευση από panos78 » 29 Μαρ 2006 15:12

Έχω βρει τον παρακάτω κώδικα για να επικολλώ τα περιεχόμενα του προχείρου σε κάποιο πεδίο:

Κώδικας: Επιλογή όλων

<script language="javascript" type="text/javascript">
var IE = &#40;document.all&#41; ? 1 &#58; 0;
var DOM = 0; 
	if &#40;parseInt&#40;navigator.appVersion&#41; >=5&#41; 
	&#123;
		DOM=1 
	&#125;;
	function txtshow&#40; txt2show &#41; 
	&#123;
		if &#40;DOM&#41; 
		&#123;
			var viewer = document.getElementById&#40;"txtmsg"&#41;;
			viewer.innerHTML=txt2show; 
		&#125;
		else if&#40;IE&#41; 
		&#123;
			document.all&#91;"txtmsg"&#93;.innerHTML=txt2show; 
		&#125;
	&#125;
	function keyup&#40;what&#41; 
	&#123;
		var str = new String&#40;what.value&#41;;
		var len = str.length;
		var showstr = '<b><font color=red>' + len + '</font> χαρακτήρ';
		if &#40;len != 1&#41; showstr += 'ες</b>';
		else showstr += 'ας</b>';
		txtshow&#40; showstr &#41;; 
	&#125;
</script>
Για να γίνεται η μέτρηση εισάγω μέσα στο πεδίο τον διακόπτη:
onkeyup="keyup(this)"
και εκεί που θέλω να εμφανίζεται ο μετρητής βάζω αυτό:
<span id="txtmsg" class="normal"></span>
Πως μπορώ να μετατρέψω την συγκεκριμένη συνάρτηση σε ΡΗΡ με τρεις μεταβλητές:
$form: όνομα φόρμας
$field: πεδίο μέσα στην συγκεκριμένη φόρμα στο οποίο θα μετρώνται οι χαρακτήρες
$counter: O μετρητής
Ευχαριστώ για τις απαντήσεις σας.
:)
Εν οίδα ότι ουδέν οίδα.
Η Μακεδονία είναι Ελλάδα.
Εικόνα

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

Κώδικας μέτρησης χαρακτήρων

Δημοσίευση από Rapid-eraser » 30 Μαρ 2006 07:53

Se server side epipedo ?
to onoma tis formas dev paizei kapoio rolo
to filed mporeis va to breis avaloga me tnv me8odo pou givei submit n forma _POST n _GET
kai to onoma tou pediou. Px esto oti exeis eva pedio
me onoma <input name='fullname' >
tote otav givei submit av givei meso _POST
8a mproeis va kaveis access sto
$_POST['fullname'].
Av 8es va metriseis to mege8os tou string tote
eva aplo strlen() tnv kavei tnv douleia

$fullname_size = strlen($_POST['fullname']);

Miv ksexvas pos n php eivai server side ... oti
kavei to kavei apo tnv meria tou server. Otav ta dedomeva eivai stnv o8ovi tou xristi n php
pleov dev mporei va kavei apolitos tipota.
(toulaxistov oxi amesa.)
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Άβαταρ μέλους
panos78
Δημοσιεύσεις: 535
Εγγραφή: 15 Φεβ 2003 02:14
Τοποθεσία: Θεσσαλονικη
Επικοινωνία:

Κώδικας μέτρησης χαρακτήρων

Δημοσίευση από panos78 » 30 Μαρ 2006 10:20

Η μέτρηση των χαρακτήρων γίνεται live την στιγμή που γράφω.
Από ότι κατάλαβα, με την ΡΗΡ, δεν θα γίνει δουλειά.
Πως μπορεί να γίνει ο παραπάνω κώδικας ώστε να γινει λίγο πιο global ώστε να μπορώ να βάλω όπου θέλω στη σελίδα μου μετρητές και να λειτουργεί ο καθένας ανεξάρτητα βάσει της παραπάνω συνάρτησης;
:)
Εν οίδα ότι ουδέν οίδα.
Η Μακεδονία είναι Ελλάδα.
Εικόνα

Άβαταρ μέλους
Rapid-eraser
WebDev Moderator
Δημοσιεύσεις: 6851
Εγγραφή: 05 Απρ 2003 17:50
Τοποθεσία: Πειραιάς
Επικοινωνία:

Κώδικας μέτρησης χαρακτήρων

Δημοσίευση από Rapid-eraser » 30 Μαρ 2006 13:45

Epavalambavw pos n php eivai server side script.
H javascript eivai Client side (toulaxistov afti pou exeis sto paradigma apo pavo.).
Safis diaxorismos kai dev 8a prepei va ta mperdeboume.

So to metaferw javascript.

twra osov afora to pio geviko.

string.value.length afto eivai to property pou periexei to mege8os evos string.

so

Κώδικας: Επιλογή όλων

function my_strlen&#40;id&#41;&#123;
return document.getElementById&#40;id&#41;.value.length ;
&#125;
So av exeis eva input text me id rapid0s tote

alert(my_strlen('rapid0s'));

8a sou dosei to mege8os tou string pou periexei.

Av to baleis sta events tou inputbox 8a exei se real time tnv epeksergasia twv dedomevwv pou 8es.
Cu, Rapid-eraser, Tα αγαθά copies κτώνται.
Love is like oxygen, You get too much you get too high
Not enough and you're gonna die, Love gets you high

Άβαταρ μέλους
panos78
Δημοσιεύσεις: 535
Εγγραφή: 15 Φεβ 2003 02:14
Τοποθεσία: Θεσσαλονικη
Επικοινωνία:

Κώδικας μέτρησης χαρακτήρων

Δημοσίευση από panos78 » 30 Μαρ 2006 14:42

Μπορείς να γίνει λιγάκι πιο συγκεικριμένος;
Πως θα εισάγω αυτά που μου είπες παραπάνω, στον κώδικα που παρέθεσα στην αρχή;
Η textarea που μετράω τους χαρακτήρες είναι:

Κώδικας: Επιλογή όλων

<textarea class="normal" rows="12" cols="125" name="article" onfocus="keyup&#40;this&#41;" onblur="keyup&#40;this&#41;" onkeyup="keyup&#40;this&#41;"></textarea>
Πάνω από αυτή θέλω να υπάρχει ο μετρητής:

Κώδικας: Επιλογή όλων

<span id="txtmsg" class="normal"></span>
Tόσο ο μετρητής όσο και η textarea αναπαράγετε μέσω ενός loop, το οποίο παράγει έναν μετρητή και μια αντίστοιχη textarea ανάλογα με τις καταχωρήσεις ενός αρχείου κειμένου.
Συγνώμη που γίνομαι ενοχλητικός, αλλά οι γνώσεις σε javascript δεν είναι τόσες για να μπορώ να κάνω αυτά που είπες πριν.
Σε ευχαριστώ για τη βοήθεια.
:)
Εν οίδα ότι ουδέν οίδα.
Η Μακεδονία είναι Ελλάδα.
Εικόνα

panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

Κώδικας μέτρησης χαρακτήρων

Δημοσίευση από panosru » 05 Απρ 2006 11:43

gia des ayto an sou kanei

Κώδικας: Επιλογή όλων

<script language="javascript" type="text/javascript">
<!--
window.onload = init;

function init &#40;&#41;
&#123;
	countCharacters &#40;&#41;;
&#125;

function countCharacters &#40;&#41;
&#123;
	var myTextarea = document.getElementById&#40;'article'&#41;;
	var myCounter = document.getElementById&#40;'txtmsg'&#41;;
	
	myTextarea.onkeyup = function &#40;&#41;
	&#123;
		myCounter.innerHTML = myTextarea.value.length;
	&#125;
	
	myTextarea.onkeydown = function &#40;&#41;
	&#123;
		myCounter.innerHTML = myTextarea.value.length;
	&#125;
&#125;
//-->
</script>

<textarea class="normal" rows="12" cols="125" name="article" id="article"></textarea>
<span id="txtmsg" class="normal"></span>

Άβαταρ μέλους
panos78
Δημοσιεύσεις: 535
Εγγραφή: 15 Φεβ 2003 02:14
Τοποθεσία: Θεσσαλονικη
Επικοινωνία:

Κώδικας μέτρησης χαρακτήρων

Δημοσίευση από panos78 » 06 Απρ 2006 19:13

Κάνει ακριβώς ότι και ο κώδικας που έχω πιο πάνω.
Όπως είπα πριν στην ίδια σελίδα μέσω ενός loop δημιουργείτε ένας αριθμός από textarea.
Επειδή θέλω για κάθε μια από αυτές τις textarea να έχει τον μετρητή της για αυτό είπα μήπως γίνεται ο κώδικας που παρέθεσα στην αρχή να γίνει λίγο πιο «κοινόχρηστος».
Γίνεται;
:)
Εν οίδα ότι ουδέν οίδα.
Η Μακεδονία είναι Ελλάδα.
Εικόνα

panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

Κώδικας μέτρησης χαρακτήρων

Δημοσίευση από panosru » 06 Απρ 2006 20:24

ela? ti egine? se exasa :P

Άβαταρ μέλους
panos78
Δημοσιεύσεις: 535
Εγγραφή: 15 Φεβ 2003 02:14
Τοποθεσία: Θεσσαλονικη
Επικοινωνία:

Κώδικας μέτρησης χαρακτήρων

Δημοσίευση από panos78 » 06 Απρ 2006 20:55

εδώ είμαι!;)
Έχεις καμιά απάντηση σε αυτό που θέλω;
:)
Εν οίδα ότι ουδέν οίδα.
Η Μακεδονία είναι Ελλάδα.
Εικόνα

panosru
WebDev Moderator
Δημοσιεύσεις: 1885
Εγγραφή: 13 Σεπ 2005 16:13
Τοποθεσία: Camp

Κώδικας μέτρησης χαρακτήρων

Δημοσίευση από panosru » 06 Απρ 2006 21:06

allo enoo .. se exasa se ayto pou les me liga logia den katalaba ti thes :D

Άβαταρ μέλους
panos78
Δημοσιεύσεις: 535
Εγγραφή: 15 Φεβ 2003 02:14
Τοποθεσία: Θεσσαλονικη
Επικοινωνία:

Κώδικας μέτρησης χαρακτήρων

Δημοσίευση από panos78 » 06 Απρ 2006 22:30

Έστω ότι έχω αυτό το loop:

Κώδικας: Επιλογή όλων

for&#40;$i=1;$i<30;$i++&#41;
&#123;
   echo '<textarea class="normal" rows="12" cols="125" name="article" id="article'.$i.'"></textarea> 
   <span id="txtmsg'.$i.'" class="normal"></span>';
&#125;
Με το παραπάνω loop δημιουργούνται 30 textarea με την κάθε textarea να έχει έναν μετρητή από δίπλα.
Με τον υπάρχων κώδικα που έχω και με τον κώδικα που έδωσες πριν δεν λειτουργεί τίποτα.
Θέλω με το που ανοίγω τη σελίδα να εμφανίζονται και οι 30 μετρητές και με το που αρχίσω να γράφω σε κάποιο από τα textarea να αλλάζει live o αντίστοιχος μετρητής.
Γίνεται και αν ναι πως;
:)
Εν οίδα ότι ουδέν οίδα.
Η Μακεδονία είναι Ελλάδα.
Εικόνα

Άβαταρ μέλους
cherouvim
Script Master
Δημοσιεύσεις: 3137
Εγγραφή: 13 Ιούλ 2005 22:56
Τοποθεσία: Athens, Greece
Επικοινωνία:

Κώδικας μέτρησης χαρακτήρων

Δημοσίευση από cherouvim » 06 Απρ 2006 23:45

efarmose dynamika ti symperifora se osa textarea ehoun to class pou theleis.

des tin methodologia gia tin epilisi enos paromiou provlimatos edo: http://temp.cherouvim.com/forums/summer/

Άβαταρ μέλους
panos78
Δημοσιεύσεις: 535
Εγγραφή: 15 Φεβ 2003 02:14
Τοποθεσία: Θεσσαλονικη
Επικοινωνία:

Κώδικας μέτρησης χαρακτήρων

Δημοσίευση από panos78 » 07 Απρ 2006 00:06

Όπως είπα και πιο πριν θέλω το ΚΑΘΕ textarea να έχει τον δικό του μετρητή.
Αυτό που μου έδειξες, αθροίζει τα περιεχόμενα των πεδίων. Εγώ δεν θέλω κάτι τέτοιο. Απλά θέλω να γίνεται μέτρηση των χαρακτήρων σε ΚΑΘΕ textarea ξεχωριστά και αυτό να εμφανίζεται live δίπλα στην αντίστοιχη textarea κάπως έτσι:

Κώδικας: Επιλογή όλων

|---------------------------|
|									|
|									|
|			Textarea  1 		|
|									|
|									|
|---------------------------| &#40;Μετρήτής 1&#41;
|---------------------------|
|									|
|									|
|			Textarea  2 		|
|									|
|									|
|---------------------------| &#40;Μετρήτής 2&#41;
|---------------------------|
|									|
|									|
|			Textarea  3 		|
|									|
|									|
|---------------------------| &#40;Μετρήτής 3&#41;
Αυτό που φαίνεται στο σχήμα μπορεί να γίνει και πως;
Αν ξέρει κάποιος ας παραθέσει τον κώδικα γιατί με την javascript είμαι ολίγον αρχάριος!;)
Ελπίζω τώρα να έγινα κατανοητός.
:)
Εν οίδα ότι ουδέν οίδα.
Η Μακεδονία είναι Ελλάδα.
Εικόνα

Άβαταρ μέλους
cherouvim
Script Master
Δημοσιεύσεις: 3137
Εγγραφή: 13 Ιούλ 2005 22:56
Τοποθεσία: Athens, Greece
Επικοινωνία:

Κώδικας μέτρησης χαρακτήρων

Δημοσίευση από cherouvim » 07 Απρ 2006 00:14

Opos eipa kai pio prin o kodikas pou sou harisa lynei ena *paromoio* provlima kai sou dihnei to tropo gia na petyheis to abstraction pou theleis.

Den sou eipa oti einai i lysi sto provlima sou.

Άβαταρ μέλους
panos78
Δημοσιεύσεις: 535
Εγγραφή: 15 Φεβ 2003 02:14
Τοποθεσία: Θεσσαλονικη
Επικοινωνία:

Κώδικας μέτρησης χαρακτήρων

Δημοσίευση από panos78 » 07 Απρ 2006 00:19

ΟΚ!
Γράψε λάθος.
Κατάλαβα λάθος την διατύπωσή σου.
:)
Εν οίδα ότι ουδέν οίδα.
Η Μακεδονία είναι Ελλάδα.
Εικόνα

Απάντηση

Επιστροφή στο “JavaScript και Frameworks”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης