تبليغاتX
UNiComp.iR | Download Direct Tutorials Video , Film | دانلودمستقیم فیلم آموزشی،کتاب،جزوه،مقاله

AJAX در PHP


سلام بچه ها

اين هم يه آموزش كامل براي اونايي كه دوست دارن Ajax ياد بگيرن ولي
كسي نيست كه بگه . من توصيه مي كنم اين رو حتما داشته باشين.

موفق باشيد.


http://forum.unicomp.ir/download/file.php?id=86

 


آموزش كامل PHP


سلام اين هم براي كسايي كه مي خوان كل دستوراي php رو با

توضيحاتش يه جا داشته باشن.

http://ir.php.net/get/php_manual_chm.zip/from/this/mirror

موفق باشيد.


ويديو هاي آموزشي PHP


ويديو هاي آموزشي PHP
با سلام

انجمن علمي دانشگاه شيخ بهايي اخيرا اقدام به برگزاري دوره PHP كرده كه آموزش هاي اين دوره در كليپ هايي به صورت موضوعي در سايت انجمن در درسترس علاقمندان قرار گرفته .

مدرس دوره : مهندس مهرداد كيانيان

رمز فايل فشرده شده : http://www.itce.ir

ليست كليپ ها :

كليپ شماره 1
آشنايي با Dreamweaver - بخش اول
Clip : Introduction to Dreamweaver - 1
مدت زمان كليپ : 9 دقيقه و 15 ثانيه
آدرس : http://www.itce.ir/main/downloads-1.html

كليپ شماره 2
آشنايي با Dreamweaver - بخش دوم
Clip : Introduction to Dreamweaver - 2
مدت زمان كليپ : 5 دقيقه و 51 ثانيه
آدرس : http://www.itce.ir/main/downloads-2.html

كليپ شماره 3
آشنايي با Web Form - بخش اول
آدرس : Clip : Introduction to Web Forms - 1
مدت زمان كليپ : 11 دقيقه و 50 ثانيه
آدرس : http://www.itce.ir/main/downloads-4.html

كليپ شماره 4
آشنايي با Web Form - بخش دوم
Clip : Introduction to Web Forms - 2
مدت زمان كليپ : 20 دقيقه و 45 ثانيه
آدرس : http://www.itce.ir/main/downloads-5.html

كليپ شماره 5
آشنايي با Web Form - بخش سوم
Clip : Introduction to Web Forms - 3
مدت زمان كليپ : 11 دقيقه و 28 ثانيه
آدرس : http://www.itce.ir/main/downloads-6.html

كليپ شماره 6
آشنايي با Web Form - بخش چهارم
Clip : Introduction to Web Forms - 4
مدت زمان كليپ : 11 دقيقه و 18 ثانيه
آدرس : http://www.itce.ir/main/downloads-7.html

كليپ شماره 7
آشنايي با Web Form - بخش پنجم
Clip : Introduction to Web Forms - 5
مدت زمان كليپ : 6 دقيقه و 30 ثانيه
آدرس : http://www.itce.ir/main/downloads-8.html

كليپ شماره 8
آموزش CSS - بخش اول
Clip : Learning CSS - Method 1
مدت زمان كليپ : 9 دقيقه و 27 ثانيه
آدرس : http://www.itce.ir/main/downloads-12.html

كليپ شماره 9
آموزش CSS - بخش دوم
Clip : Learning CSS - Method 23
مدت زمان كليپ : 7 دقيقه و 22 ثانيه
آدرس : http://www.itce.ir/main/downloads-13.html

كليپ شماره 10
آموزش CSS - بخش سوم (مثال)
Learning CSS - Samples
مدت زمان كليپ : 3 دقيقه و 34 ثانيه
آدرس : http://www.itce.ir/main/downloads-14.html

كليپ شماره 11
آشنايي با Cookie
Introduction to Cookie
مدت زمان كليپ : 14 دقيقه و 13 ثانيه
http://www.itce.ir/main/downloads-15.html

كليپ شماره 12
ساخت تايمر با جاوااسكريپت
Clip : Make Timer With JavaScript
مدت زمان كليپ : 6 دقيقه و 34 ثانيه
http://www.itce.ir/main/downloads-16.html

كليپ شماره 13
كار با فايل‌ - خواندن از فايل
Clip : PHP Files ( Read )
مدت زمان كليپ : 11 دقيقه و 39 ثانيه
http://www.itce.ir/main/downloads-10.html

كليپ شماره 14
كار با فايل‌ - نوشتن در فايل‌
Clip : PHP Files (Write)
مدت زمان كليپ : 11 دقيقه و 15 ثانيه
http://www.itce.ir/main/downloads-11.html

كليپ شماره 15
كار با فايل - بخش سوم
Clip : PHP Files - 3
مدت زمان كليپ : 17 دقيقه و 6 ثانيه
http://www.itce.ir/main/downloads-17.html

كليپ شماره 16
كار با فايل - بخش چهارم
Clip : PHP Files - 4
مدت زمان كليپ : 3 دقيقه و 45 ثانيه
http://www.itce.ir/main/downloads-18.html

كليپ شماره 17
كار با فايل در PHP 4
Clip : PHP 4 Files
مدت زمان كليپ : 11 دقيقه و 14 ثانيه
http://www.itce.ir/main/downloads-19.html

كليپ شماره 18
آپلود فايل
Clip : PHP File Upload
مدت زمان كليپ : 8 دقيقه و 17 ثانيه
http://www.itce.ir/main/downloads-20.html

كليپ شماره 19
كار با پايگاه داده MySQL - بخش اول
Clip : PHP & MySQL Database - 1
مدت زمان كليپ : 13 دقيقه و 2 ثانيه
http://www.itce.ir/main/downloads-21.html

كليپ شماره 20
كار با پايگاه داده MySQL - بخش دوم
Clip : PHP & MySQL Database - 2
مدت زمان كليپ : 9 دقيقه و 2 ثانيه
http://www.itce.ir/main/downloads-9.html

كليپ شماره 21
آموزش AJAX در PHP
Clip : Introduction to AJAX
مدت زمان كليپ : 18 دقيقه و 57 ثانيه
http://www.itce.ir/main/downloads-23.html

كليپ شماره 22
اضافه كردن يك سطر به ليست با AJAX - بخش اول
Clip : َAJAX Add Row - 1
مدت زمان كليپ : 10 دقيقه و 8 ثانيه
http://www.itce.ir/main/downloads-24.html

كليپ شماره 23
اضافه كردن يك سطر به ليست با AJAX - بخش دوم
Clip : َAJAX Add Row - 2
مدت زمان كليپ : 10 دقيقه و 8 ثانيه
http://www.itce.ir/main/downloads-25.html

كليپ شماره 24
حذف يك سطر از ليست با AJAX - بخش اول
Clip : AJAX Delete Row - 1
مدت زمان كليپ : 11 دقيقه و 18 ثانيه
http://www.itce.ir/main/downloads-26.html


كليپ شماره 25
حذف يك سطر از ليست با AJAX - بخش دوم
Clip : AJAX Delete Row - 1
مدت زمان كليپ : 13 دقيقه و 38 ثانيه
http://www.itce.ir/main/downloads-27.html

كليپ شماره 26
حذف يك سطر از ليست با AJAX - بخش سوم
Clip : AJAX Delete Row - 1
مدت زمان كليپ : 6 دقيقه و 1 ثانيه
http://www.itce.ir/main/downloads-28.html

با تشكر

موفق باشيد.


بخش ششم


بخش ششم
سلام اين هم بخش ششم
موفق باشيد
 
http://forum.unicomp.ir/download/file.php?id=66

بخش هفتم


بخش هفتم
سلام اين هم بخش هفتم
موفق باشيد
 
http://forum.unicomp.ir/download/file.php?id=67

بخش پنجم


بخش پنجم
سلام اين هم بخش پنجم
موفق باشيد.
 
http://forum.unicomp.ir/download/file.php?id=64

بخش چهارم


سلام اين هم بخش چهارم pdf
 
http://forum.unicomp.ir/download/file.php?id=62

بخش دوم و سوم


سلام اين هم بخش دوم و سوم pdf

http://forum.unicomp.ir/download/file.php?id=59

http://forum.unicomp.ir/download/file.php?id=58


TCP & IP


سلام بچه ها اين هم يه آشنايي با pack TCP & IP
بخش اول

http://forum.unicomp.ir/download/file.php?id=56

روش نصب PHP بروى windows 95/98/Me NT/2000/XP


روش نصب PHP بروى windows 95/98/Me NT/2000/XP
روش نصب PHP بروى windows 95/98/Me NT/2000/XP
PHP بر روى win32 بدو صورت نصب مىشود

1 - بصورت CGI executable
2 - بصورت server module SAPI

1 - نصب PHP بصورت CGI executable :
نصب PHP بصورت CGI executable بسيار ساده مىباشد براى اين كار شما بايد بر روى PC خود يكى از web server هاى زير را داشته باشيد

Personal Web Server 3 and 4 or newer
Internet Information Server 3 and 4 or newer
Apache 1.3.x
OmniHTTPd 2.0b1 and up
Oreilly Website Pro
Xitami
Netscape Enterprise Server, iPlanet
در سايت http://www.php.net شما مىتوانيد php Installer را بر روى PC خود ذخيره كنيد
اين برنامه php را بر روى PC شما بصورت CGI executable و با پشتيبانى MySQL نصب خواهد كرد و web Server شما را بصورت automatic تنظيم خواهد كرد
--------------------------------------------------------------------------------
2 - نصب PHP بر روى win32 بصورت server module SAPI :

نصب PHP بصورت server module SAPI بر روى Apache توسط دوست عزيزمان آقاى على نادرى در قسمت مقالات بطور كامل توضيح داده شده است
و اما نصب PHP بر روى IIS :
جهت اين كار ابتدا بايد PHP را از اين آدرس Windows Binaries بر روى PC خود ذخيره كنيد
محتويات اين فايل كه بصورت zip است را در شاخه‌اى كه مىخواهيد php را نصب كنيد قرار دهيد c:\php خوب است
پس از اين كار فايل‌هاى php4ts.dll و sapi/php4isapi.dll و dlls/*.dll را در شاخه system ذخيره كنيد

c:\windows\system for Windows 9x/ME
c:\winnt\system32 for Windows NT/2000
c:\windows\system32 for Windows XP
فايل php.ini-recommended را به php.ini تغيير نام داده و در شاخه WINDOWS ذخيره كنيد
در فايل php.ini تغييرات زير را ايجاد كنيد:
شما بايد extension_dir را به شاخه extension هاى مورد نظر خود تغيير دهيد چنانچه مطابق با توضيحات پيش رفته باشيد اين مسير c:\php\extensions مىباشد
فايل browscap.ini را در

c:\windows\system\inetsrv\browscap.ini on Windows 9x/Me,
c:\winnt\system32\inetsrv\browscap.ini on NT/2000,
c:\windows\system32\inetsrv\browscap.ini on XP.
جنانجه پس از نصب PHP فايلهاى شما در شناختن variable ها مشكل داشتيد در فايل php.ini پارامتر register_globals را از off به on تغيير دهيد
سپس در IIS در قسمت

Home Directory > configuration > App Mappings :

Executable : C:\WINNT\system\php4isapi.dll
Extension : .php
را اضافه كنيد در قسمت ISAPI نيز

Filter Name : php
Executable : C:\WINNT\system\php4isapi.dll


پس از يك بار stop / start كردن IIS شما مىتوانيد PHP را بر روى PC خود اجرا كنيد
موفق باشيد. :P :P :P

منابع كنكور كارشناسي ارشد كامپيوتر (همه گرايش ها کامپیوتر)


منابع كنكور كارشناسي ارشد كامپيوتر (همه گرايش ها کامپیوتر)
سلام این منابع كنكور كارشناسي ارشد كامپيوتر (همه گرايش ها) تا جایی که میدونم

(1)زبان تخصصي (با ضريب 1)
تعداد - 25 سؤال


(2) مجموعه‌ي دروس رياضي (با ضريب 2)
تعداد - 24 سؤال، هر درس شش سؤال


الف) رياضي مهندسي
كتاب درسي: رياضي مهندسي پيشرفته، اروين كريزيگ، ترجمه‌ي عالم‌زاده يا شاهرضايي.
كتاب تست: رياضي مهندسي، مؤسسه‌ي پرسپوليس.


ب) آمار و احتمال مهندسي
كتاب درس و تست: آمار و احتمال، دكتر نيكوكار.
آمار و احتمال، نوشته‌ي ....، ترجمه‌ي‌عميدي.
آمار و احتمال، نوشته‌ي دگروت، ترجمه‌ي (استاد بزرگوارم) دكتر عين الله پاشا.


ج) محاسبات‌عددي
كتاب درس: آناليز عددي، بابليان.
محاسبات عددي، دكتر نيكوكار.
كتاب مهندسي كامپيوتر، خلاصه‌ي درس.


د) ساختمان‌هاي گسسته
كتاب درس: ساختمان‌هاي گسسته، دكتر قلي زاده.
رياضي گسسته، گريمالدي.
رياضي گسسته، ترمبلي.
كتاب تست: پوران پژوهش


(3)مجموعه‌ي دروس عمومي (باضريب4)
تعداد - 30 سؤال، هر درس 6 سؤال


الف) ساختمان‌داده‌ها
كتاب درس: ساختمان‌داده‌ها و الگوريتم‌ها در پاسكال، c، c++، هورويتز.
ساختمان‌داده‌ها و الگوريتم‌ها در جاوا، سارتج سهني.
ساختمان‌داده‌ها، سيمور ليپ‌شوتز.
كتاب تست: ساختمان‌داده‌ها، دكتر مقسمي، درس و كنكور.
جزوه‌ي ساختمان‌داده‌ها، دكتر محمد قدسي، دانشگاه شريف.



ب) نظريه‌ي زبان‌ها و ماشين‌ها
كتاب درس: نظريه‌ي زبان‌ها، سودكمپ، ترجمه‌ي جليلي.
نظريه‌ي زبان‌ها، پيتر لينز ، ترجمه‌ي دكتر صراف‌زاده.
كتاب تست: كتاب پوران‌پژوهش.

توضيح: (در دانشگاه تربيت‌معلم، كتابي تدريس مي‌شود كه نوشته‌ي دو نويسنده‌ي كره‌اي است و براي آموزش نظريه‌ي زبان‌ها بسيار عالي است. (ارمغان حسن نادري) چنان‌چه قبلا اين درس را نگذرانده‌ايد، توصيه مي‌كنم، حتما به دنبال اين كتاب باشيد. )


ج) مدارهاي منطقي
كتاب درس: موريس مانو.
كتاب تست: كتاب پوران‌پژوهش، جلد آبي.
كتاب راهيان ارشد، جلد دو.

د) معماري كامپيوتر
كتاب درس: معماري كامپيوتر، موريس مانو.
معماري و سازماندهي كامپيوتر، استالينگز.
تست: كتاب پوران‌پژوهش، جلد آبي.

ه) اصول طراحي سيستم عامل
كتاب درس:
سيستم عامل، استالينگز.
سيستم عامل، سيلبرشاتس.
سيستم عامل، تننباوم.
جزوه ي سيستم عامل موسسه‌ي پرسپوليس.
تست: سيستم‌عامل، مقسمي، درس و كنكور.

4 )مجموعه‌ي دروس تخصصي (باضريب2)
رشته‌ي نرم‌افزار: (چهار اصل)
25 سؤال - چهار درس، هر كدام 6 سؤال ، هر سال يكي از درس‌ها هفت‌سؤالي است.

الف) اصول طراحي كمپايلر
كتاب درس:
طراحي كمپايلر، آيهو.
طراحي كمپايلر، قاسم‌ثاني، جزوه‌ي دانشگاه شريف.
كتاب نكته و تست : مهندسي كامپيوتر، راهيان ارشد، جلدسوم.


ب) اصول طراحي زبان‌هاي برنامه‌سازي
كتاب درس: طراحي زبان‌هاي برنامه‌سازي، پِرَت
جزوه‌ي طراحي و پياده‌سازي دانشگاه اميركبير.
كتاب نكته و تست : مهندسي كامپيوتر، راهيان ارشد، جلدسوم.

ج) اصول طراحي الگوريتم
كتاب درس: مقدمه‌اي بر طراحي الگوريتم،معروف و مشهور به CLRS.
طراحي الگوريتم، نيپوليتان، نعيمي‌پور.
كتاب نكته و تست : مهندسي كامپيوتر، راهيان ارشد، جلدسوم.
جزوه‌ي طراحي الگوريتم، دكتر محمد قدسي، دانشگاه شريف.


د) اصول طراحي پايگاه‌داده‌ها
كتاب درس: پايگاه‌داده‌ها، سي جي ديت.
پايگاه داده‌ها، رامز المصري.
اصول طراحي بانك‌هاي اطلاعاتي، مصطفا حق‌جو.
اصول طراحي پايگاه‌داده‌ها، روحاني رانكوهي.
كتاب تست: پايگاه‌داده‌ها، مقسمي.

رشته‌ي سخت‌افزار:
الف) الكترونيك ديجيتال
ب( انتقال داده
ج) مدار الكتريكي


رشته‌ي هوش‌مصنوعي:
الف) مدارهاي الكتريكي
ب‌) طراحي الگوريتم
ت‌) هوش مصنوعي




منابع كنكور كارشناسي ارشد – (رشته‌ي ITمهندسي فناوري اطلاعات(

1)زبان‌تخصصي (با ضريب 1) ( 30 سؤال (
(2 مجموعه‌ي دروس عمومي (با ضريب 2) ( هر درس 10 سؤال(


الف) ساختمان‌هاي گسسته
كتاب درس: ساختمان‌هاي گسسته، دكتر قلي زاده.
رياضي گسسته، گريمالدي.
رياضي گسسته، ترمبلي.
كتاب تست: پوران پژوهش.

ب‌) ساختمان‌‌داده‌ها
كتاب درس: ساختمان‌داده‌ها و الگوريتم‌ها در پاسكال، c، c++، هورويتز.
ساختمان‌داده‌ها و الگوريتم‌ها در جاوا، سارتج سهني.
ساختمان‌داده‌ها، سيمور ليپ‌شوتز.
كتاب تست: ساختمان‌داده‌ها، دكتر مقسمي، درس و كنكور.
جزوه‌ي ساختمان‌داده‌ها، دكتر محمد قدسي، دانشگاه شريف.

ت‌) طراحي الگوريتم
كتاب درس: مقدمه‌اي بر طراحي الگوريتم،معروف و مشهور به CLRS.
طراحي الگوريتم، نيپوليتان، نعيمي‌پور.
طراحي الگوريتم، قلي‌زاده.
كتاب نكته و تست : مهندسي كامپيوتر، راهيان ارشد، جلدسوم.
جزوه‌ي طراحي الگوريتم، دكتر محمد قدسي، دانشگاه شريف.

ث‌) مهندسي نرم‌افزار
كتاب درس: مهندسي نرم‌افزار، پرسمن. (ويرايش پنجم و ششم).
مهندسي نرم افزار، سامرويل (ويرايش پنجم).
تحليل و طراحي نرم‌افزار، بنت‌لي.
مهندسي نرم افزار كلاسيك و شي‌گرا، ساش.

ج‌) شبكه‌هاي كامپيوتري
كتاب درس: شبكه‌هاي كامپيوتري، اندرو اس تننباوم، ترجمه‌ي ملكيان، زارع‌پور و پدرام.
شبكه‌هاي كامپيوتري و انتقال داده، ويليام استالينگز.
كتاب تست: 3000 مسئله‌ي حل شده در شبكه‌هاي كامپيوتري و انتقال‌داده، دكتر فتحي و مهندس صفائي.

ح‌) مديريت فناوري اطلاعات
كتاب درس: جزوه‌ي دانشگاه اميركبير.

دروس ديگر ( با ضريب 1(
3) هوش‌مصنوعي ( 10 سؤال(
كتاب درس: هوش مصنوعي، نوشته‌ي راسل و نوروينگ.
كتاب نكته و تست : مهندسي كامپيوتر، راهيان ارشد، جلدچهارم.

(4) پايگاه داده‌ها ( 10 سؤال)
كتاب درس: پايگاه‌داده‌ها، سي جي ديت.
پايگاه داده‌ها، رامز المصري.
اصول طراحي بانك‌هاي اطلاعاتي، مصطفا حق‌جو.
اصول طراحي پايگاه‌داده‌ها، روحاني رانكوهي.
كتاب تست: پايگاه‌داده‌ها، مقسمي.

()5 سيستم‌عامل ( 10 سؤال )
كتاب درس:
سيستم عامل، استالينگز.
سيستم عامل، سيلبرشاتس.
سيستم عامل، تننباوم.
جزوه ي سيستم عامل موسسه‌ي پرسپوليس.
تست: سيستم‌عامل، مقسمي، درس و كنكور.

(6)معماري ( 10 سؤال )
كتاب درس: معماري كامپيوتر، موريس مانو.
معماري و سازماندهي كامپيوتر، استالينگز.
تست: كتاب پوران‌پژوهش، جلد آبي

موفق باشید.

هفت پند از بيل گيتس


بيل گيتس هر از گاهی در دانشگاهها و دبيرستانهای آمريکا با دانشجويان و دانش آموزان ملاقات داشته و برای آنها سخنرانی می کند. گيتس اخيرا طی يک سخنرانی در يکی از دبيرستانهای آمريکا خطاب به دانش آموزان جمله ای گفت که خيلی سروصدا کرد. او گفت در دبيرستان های آمريکا خيلی چيزها را به دانش آموزان نمی آموزند. او در ادامه سخنرانی اش هفت اصل مهم را که دانش آموزان در دبيرستان فرا نمی گيرند به شرح زير نام برد:
اصل اول : در زندگی هيچ چيز عادلانه نيست و بهتر است با اين حقيقت کنار بياييد.
اصل دوم: دنيا هيچ ارزشی برای عزت نفس شما قايل نيست. در اين دنيا از شما انتظار می رود قبل از اينکه نسبت به خودتان احساس خوبی داشته باشيد کار مثبتی انجام دهيد.
اصل سوم : پس از فارغ التحصيل شدن از دبيرستان و استخدام شدن، کسی به شما حقوق فوق العاده زيادی پرداخت نخواهد کرد. به همين ترتيب قبل از آنکه بتوانيد به مقام و موقعيت بالاتری برسيد بايد برای مقام و مزايايش زحمت بکشيد.
اصل چهارم : اگر فکر می کنيد آموزگارتان سخت گير است در اشتباه هستيد. پس از استخدام شدن متوجه خواهيد شد که رييس شما سخت گيرتر از آموزگارتان است چون امنيت شغلی آموزگارتان را ندارد.
اصل پنجم : آشپزی در رستورانها با غرور و شان شما تضاد ندارد. پدربزرگ های ما برای اين کار اصطلاح ديگری داشتند از نظر آنها اين کار يک فرصت بود.
اصل ششم : اگر در کارتان موفق نيستيد والدين خودتان را ملامت نکنيد از ناليدن دست بکشيد و از اشتباهات خود درس بگيريد.
اصل هفتم : قبل از آنکه شما متولد بشويد والدين شما هم جوانان پر شوری بودند و شايد هرگز به قدری که اکنون به نظر شما می رسد ملال آور نبوده اند.

موفق باشید .

جستجو در داخل فايل های متنی .::. آموزش های کاربری


ابتدا Search ويندوز خودتونو باز كنيد و سپس بر روي All Files And Folders كليك نماييد . بعد از پنجره اي كه باز مي شود در سمت چپ درايوي كه مي خواين داخلش جستجو كنيد رو انتخاب كنيد . بر روي Search كليك كنيد . در پنجره جديد در قسمت A Word Or Phrase In The File كلمه مورد نظر خودتونو وارد كنيد .

 

             

            

 

توجه : اين مورد از جستجو براي جستجو در محتواي فايل هاي Txt  و Doc و ... خيلي مفيد مي باشد .

 

با كليك بر روي Search  ميتوانيد نتايج جستجوي خودتونو در همان پنجره مشاهده كنيد .

 

حتما ما را با نظرات خود به كمال برسانيد .


ویرایش کدها


 ویرایش کدها

1- غلط املايي :

در نوشتن window، دقت كنيد.

 ويندو، به صورت مفرد است. با نام سيستم عامل ويندوز، اشتباه نگيريد.

يا document و Mouse، جاي حروف o و u را اشتباه نكنيد.

يا كلماتي كه از لحاظ املايي، نزديك هم هستند؛

 مانند white (سفيد) with (با) While (حلقه).

2- كلمات رزرو شده و كليدي :

خيلي از كلمات برنامه‌نويسي، كلمات رزرو شده هستند

 يعني كلماتي كه از قبل در آن زبان، مورد استفاده قرار گرفته و داراي معناي خاصي هستند.

 از اين كلمات نمي‌شود به عنوان نام چيز ديگري، مانند تابع، استفاده كرد.

3- كلمات كليدي :

در نوشتن اين كلمات، خيلي دقت كنيد

 مخصوصا در بزرگ و كوچك بودن حروف.

همه متد و دستورها، در جاوا اسكريپت، با حرف كوچك، نوشته و شروع مي‌شود

 الا موارد خاصي مانند Array. البته شايد يك كلمه تركيبي باشد؛

چون هميشه اينگونه نوشته مي‌شود new Array.

4- دستورات تركيبي :

يعني دستوراتي كه از دو يا سه كلمه، تشكيل شده‌اند.

 مانند setTimeout, onMouseover كه از سه كلمه، تركيب شده‌اند.

 اولين كلمه اين دستورات، با حرف كوچك شروع شده، و دومين كلمه، با حرف بزرگ.

5- نام گذاري :

اسم بي‌مسمّي شنيده‌ايد؟ اسمي كه با شخص يا شيي ناميده شده، ربطی ندارد

 مثل اينكه به يك سگ سياه، بگوييم سفيد برفي.

 اسمي كه براي اشيا يا دستورات خود، انتخاب مي‌كنيد، بايد جنس و كار آن را نشان دهد.

مثلا مي‌خواهم تابعي بنويسم كه مطالب يك فرم را ارسال كند.

 نام دكمه ارسال را btnSubmit گذاشته، و نام تابع را funSubmit مي‌گذارم.
btn = مخفف button (دكمه)
fun = مخفف function (تابع)

استفاده از مخفف نوع اشيا، در راهنمايي شما يا

 كساني كه از برنامه‌يتان بازديد مي‌كنند، بسيار كمك مي‌كند.

6- مرتب نويسي :

كدها بايد طوري نوشته شود كه خوانا و واضح باشد.

 شايد در برنامه‌هاي كوتاه، ضرورتي براي اين كار ديده نشود

 اما در كدهاي عريض و طويل و پيچيده كه از دهها تابع ساخته شده‌اند، اين امر، ضروري است.

به ترتيب و چينش اين كدها دقت كنيد:

رعايت سر شاخه و زير مجموعه، در اين برنامه، نمايان است.

 يك مجموعه داريم كه تابع ما است. داخل آن تابع، يك شرط نوشته شده، و داخل آن شرط، چند دستور.

 با فاصله دادن آنها از كناره سمت چپ صفحه،

 آنها را از هم مجزا مي‌كنيم. به قرار گرفتن كُرشه‌ها، دقت كنيد.

7- پايان دستور :

در پايان هر دستور، از نقطه ويرگول (;) استفاده كنيد.



توضیح مفاهیم جاوا اسکریپت


توضیح مفاهیم جاوا اسکریپت

برنامه نويسي :

زبان برنامه نويسي، وسيله‌اي است براي ساختن برنامه و نرم‌افزار مورد نياز ما.

به طور كلي مي‌توانيم برنامه‌هاي خود را به دو گروه، تقسيم كنيم:
1- برنامه‌هايي كه در محيط رايانه، استفاده مي‌شوند.
2- برنامه‌هايي كه در محيط وب و اينترنت قابل استفاده هستند.

زبان كاربري :

بعضي از زبانهاي برنامه نويسي تحت وب، در طرف كاربر و كلاينت (Client)  اجراء مي‌شود.

 JavaScript, JScript, VBScript.

زبان سِـروري :

زبانهاي برنامه نويسي تحت وبي كه در طرف سرور (Sserver)   اجراء مي‌شود.

 asp, php.

جاوا اسكريپت :

با جاوا اسكريپت، مي‌توانيم برنامه‌اي بنويسيم كه هم در رايانه و هم در محيط اينترنت، قابل اجراء باشد.

 البته زادگاه اصلي آن، اينترنت است.

جاوا اسكريپت، از آن دسته از زبانهاست كه در طرف كاربر، عمل مي‌كند.

Object (شي) :

هر چيزي كه در صفحه ما وجود دارد، يك شي حساب مي‌شود و مي‌توان از آن استفاده كرد و تغييرش داد.

 اولين شي موجود، خود صفحه و سند (document) است، كه قبلا با آن آشنا شده‌ايد.

Properties (خصوصيات) :

هر شي، يك مشخصات و خصوصياتي دارد كه بيانگر كمّيت و كيفيت آنست.

 مثلا يك سند، داراي اين خصوصيات است:

 پس زمينه، عنوان (Title)، نوار وضعيت (Status)، نوار پيمايش (Scroll)، متن (Text)، لينك (Link).

Methods (متُد) :

کاري که اشياء مي‌توانند انجام دهند، متد ناميده مي‌شود.

مانند باز كردن يا بستن پنجره. شالوده و اصل يك زبان برنامه نويسي، متدهاي آن برنامه است

، كه ما بايد آنها را به خوبي ياد گرفته و در جاي مناسب استفاده نماييم.

 متدها، توسط سازندگان زبان برنامه نويسي، نوشته و تهيه مي‌شود و ممكن است

در نسخه‌هاي جديد آن زبان، تغيير داده شده، اضافه و تكميل شود.

Event (رويداد) :

رويداد، عملياتي است كه كاربر، در يك صفحه انجام مي‌دهد.

بعضي از رويدادها مشترك و عمومي هستند و بعضي مخصوص يك شي.

 بعضي از اين رويدادها را براي شما دسته بندي كرده‌ام كه حتما ذخيره نموده و به مرور آنرا كامل كنيد.

شرط:

يكي از ابزار و دستورات مهم هر زبانِ برنامه نويسي، شرط است.

ادات شرط :

1. if
2. switch ... case

معروفترين ادات شرط، if است.

ساختمان شرط :

 • جمله شرطي، از سه قسمت اصلي، تشكيل شده است.
1- ادات شرط: كلمه‌اي كه شرط را مي‌رساند؛ مانند اگر.
2- شرط: جمله‌اي كه شرطِ انجام كاري، واقع شده.
3- مشروط يا جزا: جمله‌اي كه جزاي شرط و در جواب آن آمده؛

 يعني در صورت تحقق شرط، آن نيز به وقوع مي‌پيوندد.

Operators (عملگرها) :

در برنامه نويسي، از علامت و نشانه‌هايي استفاده مي‌شود

كه به آن عمگر گفته مي‌شود. يكي از انواع عمگرها، عمگر شرطي مي‌باشد.

عمليات برنامه نويسي :

 • يك عمليات برنامه نويسي، داراي سه بخش، است.
1. دريافت داده. در اين قسمت، اسكريپت، اطلاعاتي را كه نياز دارد، مي‌گيرد.
2. پردازش داده. در اين قسمت، اطلاعاتي كه تهيه كرده، تجزيه و تحليل مي‌كند.
3. نمايش داده. در اين قسمت، اطلاعات پردازش شده را، ارائه مي‌كند.

ثابت و متغير :

بعضي از اطلاعاتي كه يك برنامه، به دست مي‌آورد، ثابت (Constant) است، و بعضي، متغير (Variable).

 متغير به اين معني كه يك چيز ثابت، مشخص و از پيش تعريف شده نيست.

 آنچه كه برنامه نويس، بيشتر با او سر و كار دارد، متغير است.

انواع متغير :

1- رشته‌اي (String):حروف و كلمه
2- عددي (Number):اعداد و ارقام (اعداد صحيح و اعشاري)
3- منطقي (Boolean):بله و خير

متغير سراسري، عمومي (Global گلوبال)
اگر متغير را خارج از تابع بنويسيد، عمومي است؛ چون مي‌شود در سرتاسر برنامه، آنرا صدا زده و مورد استفاده قرار داد.

متغير محلي، خصوصي (Localلوكال)
اگر متغيري را داخل تابع تعريف كنيد، خصوصي است؛

 يعني فقط در همان محل و همان تابع، كابرد دارد،

و بيرون از آن، نه مي‌شود صدا زد و نه مي‌شود استفاده كرد.

زمان :

زمان، داراي اجزا مختلف است

 يعني انسان، آنرا به بخشهاي مختلف تقسيم كرده تا قابل استفاده باشد.

قسمتي از آن،تاريخ (سال، ماه، هفته و روز) نام دارد،

و قسمتي از آن، به اجزا كوچكتر (ساعت، دقيقه و ثانيه) تقسيم شده،

وساعت، ناميده مي‌شود. البته معيار تاريخ در برنامه نويسي، ميلادي است.

براي تبديل به شمسي يا قمري، بايد از برنامه نويسي استفاده كنيد.

تابع :

تابع يا همان فانِكشين (Function)، مجموعه‌اي از يك يا چند كد است

كه در يك جا جمع شده و داراي نام شده‌اند.

آرگومان: گاهي، داخل پرانتزي كه بعد از نام تابع قرار مي‌گيرد،

چيزي نوشته مي‌شود به نام آرگومان كه يك نوع متغير است.

آرايه :

آرايه، مجموعه‌اي از چند داده (ثابت و متغير) است كه به عنوان يك واحد شناخته شده و اعضاي آن، با كد، مشخص شده‌اند.

به عبارت ديگر، تعدادي از اطلاعات كه در كنار هم قرار گرفته‌اند

و يك وجه مشترك داشته و به يك نام خوانده مي‌شوند.

حلقه :

 يكي ديگر از ويژگيهاي مفيد جاوا اسكريپت و همچنين ساير زبانهاي برنامه نويسي،

 توانايي ايجاد حلقه‌هاي تكرار، يا اجراي گروهي از دستورالعملها به صورت تكراري است.

اين، يكي از كارهايي است كه رايانه‌ها قادرند تا به خوبي آنها را انجام دهند، و آن چيزي نيست

 جز انجام كارهاي تكراري با دقت بالا.

در برنامه‌هاي اسكريپت، از حلقه‌هاي تكرار به عنوان يك ابزار قوي و مهم، استفاده‌هاي فراواني مي‌شود.
 

ادات حلقه :

 • از روشهاي مختلفي براي ايجاد حلقه، استفاده مي‌شود.

1. for
2. While
3. do ... while

معروفترين ابزار حلقه، for است.

ساختمان حلقه :

1. ابتداي حلقه:a = 0. اين عدد، شروع و ابتداي حلقه را معيّن مي‌كند.
2. انتهاي حلقه: a < 10. اين عدد، حداكثر و انتهاي حلقه - به عبارت ديگر، 3. افزايش يا كاهش: اين پارامتر، مشخص مي‌كند تعداد تكرار دستورات - را مشخص مي‌كند.
كه حلقه، در هر بار اجرا، يك واحد زياد شود يا كم.
4. جواب حلقه: حلقه، بي شباهت به شرط نيست. به عبارت ديگر: اگر متغير ما (a)، از 0 تا 10 تداوم داشت، نمايش پيام، ادامه داشته باشد.

فرم :

فرم وسيله‌اي است براي دريافت اطلاعات از كاربر.

method = نوع ارسال اطلاعات را معين مي‌كند، كه دو نوع است: post, get.

 اين دو روش با تفاوتهايي، عمليات ارسال را انجام ‌مي‌دهند. روش پُست، عمومي‌تر است و  از لحاظ امنيتي، برتري دارد.

 اگر متد را ننويسيد، از پُست، استفاده مي‌شود.

action = محلي را نشان مي‌دهد كه اطلاعات، براي پردازش،

 به آنجا ارسال خواهد شد؛ يعني آدرس يك صفحه است، كه در اينجا

 براي مثال، test.htm را انتخاب كرده‌ام.

name = نام فرم.

onSubmit = يك رويداد است. تابعي را كه در جاوا اسكريپت، نوشته‌ايد را صدا مي‌كند.

Get - Post = تفاوت بين اين دو، در چگونگي ارسال اطلاعات از فرم، به اسكريپت پردازشگر است.

  • اگر از روش گت، استفاده كنيد، مقدار اطلاعاتي كه مي‌توانيد ارسال كنيد، محدود است.
  • با استفاده از روش get، اطلاعات به دست آمده از فرم، به عنوان بخشي از يك URL، انتقال مي‌يابد؛ اما در روش post، اطلاعات، در حقيقت به صورت نامرئي، منتقل مي‌شود. اگر براي مثال، در روش گت، كاربر، يك رمز عبور را در فيلد پسورد، بنويسد، و فرد ديگري نيز در حال مشاهده صفحه نمايش كاربر باشد، به راحتي مي‌تواند از رمز عبور كاربر، آگاه شود. به عبارت ديگر، اين روش، در سطح امنيتي پايين‌تري از روش پست مي‌باشد.
  • صفحه‌اي كه حاوي فرمي با مشخصه گت است، مي‌تواند نشانه گذاري (Bookmark) شود؛ در حالي كه در روش پست، اين كار، ممكن نيست.

اشاره‌گر :

اشاره‌گر (Cursor)  همان شكلي است كه با حركت موس،

 در مانيتور، حركت مي‌كند و نمادي از انگشت و دست شماست براي اشاره به اشياء داخل صفحه.



توضیح مفاهیم جاوا اسکریپت


توضیح مفاهیم جاوا اسکریپت

برنامه نويسي :

زبان برنامه نويسي، وسيله‌اي است براي ساختن برنامه و نرم‌افزار مورد نياز ما.

به طور كلي مي‌توانيم برنامه‌هاي خود را به دو گروه، تقسيم كنيم:
1- برنامه‌هايي كه در محيط رايانه، استفاده مي‌شوند.
2- برنامه‌هايي كه در محيط وب و اينترنت قابل استفاده هستند.

زبان كاربري :

بعضي از زبانهاي برنامه نويسي تحت وب، در طرف كاربر و كلاينت (Client)  اجراء مي‌شود.

 JavaScript, JScript, VBScript.

زبان سِـروري :

زبانهاي برنامه نويسي تحت وبي كه در طرف سرور (Sserver)   اجراء مي‌شود.

 asp, php.

جاوا اسكريپت :

با جاوا اسكريپت، مي‌توانيم برنامه‌اي بنويسيم كه هم در رايانه و هم در محيط اينترنت، قابل اجراء باشد.

 البته زادگاه اصلي آن، اينترنت است.

جاوا اسكريپت، از آن دسته از زبانهاست كه در طرف كاربر، عمل مي‌كند.

Object (شي) :

هر چيزي كه در صفحه ما وجود دارد، يك شي حساب مي‌شود و مي‌توان از آن استفاده كرد و تغييرش داد.

 اولين شي موجود، خود صفحه و سند (document) است، كه قبلا با آن آشنا شده‌ايد.

Properties (خصوصيات) :

هر شي، يك مشخصات و خصوصياتي دارد كه بيانگر كمّيت و كيفيت آنست.

 مثلا يك سند، داراي اين خصوصيات است:

 پس زمينه، عنوان (Title)، نوار وضعيت (Status)، نوار پيمايش (Scroll)، متن (Text)، لينك (Link).

Methods (متُد) :

کاري که اشياء مي‌توانند انجام دهند، متد ناميده مي‌شود.

مانند باز كردن يا بستن پنجره. شالوده و اصل يك زبان برنامه نويسي، متدهاي آن برنامه است

، كه ما بايد آنها را به خوبي ياد گرفته و در جاي مناسب استفاده نماييم.

 متدها، توسط سازندگان زبان برنامه نويسي، نوشته و تهيه مي‌شود و ممكن است

در نسخه‌هاي جديد آن زبان، تغيير داده شده، اضافه و تكميل شود.

Event (رويداد) :

رويداد، عملياتي است كه كاربر، در يك صفحه انجام مي‌دهد.

بعضي از رويدادها مشترك و عمومي هستند و بعضي مخصوص يك شي.

 بعضي از اين رويدادها را براي شما دسته بندي كرده‌ام كه حتما ذخيره نموده و به مرور آنرا كامل كنيد.

شرط:

يكي از ابزار و دستورات مهم هر زبانِ برنامه نويسي، شرط است.

ادات شرط :

1. if
2. switch ... case

معروفترين ادات شرط، if است.

ساختمان شرط :

 • جمله شرطي، از سه قسمت اصلي، تشكيل شده است.
1- ادات شرط: كلمه‌اي كه شرط را مي‌رساند؛ مانند اگر.
2- شرط: جمله‌اي كه شرطِ انجام كاري، واقع شده.
3- مشروط يا جزا: جمله‌اي كه جزاي شرط و در جواب آن آمده؛

 يعني در صورت تحقق شرط، آن نيز به وقوع مي‌پيوندد.

Operators (عملگرها) :

در برنامه نويسي، از علامت و نشانه‌هايي استفاده مي‌شود

كه به آن عمگر گفته مي‌شود. يكي از انواع عمگرها، عمگر شرطي مي‌باشد.

عمليات برنامه نويسي :

 • يك عمليات برنامه نويسي، داراي سه بخش، است.
1. دريافت داده. در اين قسمت، اسكريپت، اطلاعاتي را كه نياز دارد، مي‌گيرد.
2. پردازش داده. در اين قسمت، اطلاعاتي كه تهيه كرده، تجزيه و تحليل مي‌كند.
3. نمايش داده. در اين قسمت، اطلاعات پردازش شده را، ارائه مي‌كند.

ثابت و متغير :

بعضي از اطلاعاتي كه يك برنامه، به دست مي‌آورد، ثابت (Constant) است، و بعضي، متغير (Variable).

 متغير به اين معني كه يك چيز ثابت، مشخص و از پيش تعريف شده نيست.

 آنچه كه برنامه نويس، بيشتر با او سر و كار دارد، متغير است.

انواع متغير :

1- رشته‌اي (String):حروف و كلمه
2- عددي (Number):اعداد و ارقام (اعداد صحيح و اعشاري)
3- منطقي (Boolean):بله و خير

متغير سراسري، عمومي (Global گلوبال)
اگر متغير را خارج از تابع بنويسيد، عمومي است؛ چون مي‌شود در سرتاسر برنامه، آنرا صدا زده و مورد استفاده قرار داد.

متغير محلي، خصوصي (Localلوكال)
اگر متغيري را داخل تابع تعريف كنيد، خصوصي است؛

 يعني فقط در همان محل و همان تابع، كابرد دارد،

و بيرون از آن، نه مي‌شود صدا زد و نه مي‌شود استفاده كرد.

زمان :

زمان، داراي اجزا مختلف است

 يعني انسان، آنرا به بخشهاي مختلف تقسيم كرده تا قابل استفاده باشد.

قسمتي از آن،تاريخ (سال، ماه، هفته و روز) نام دارد،

و قسمتي از آن، به اجزا كوچكتر (ساعت، دقيقه و ثانيه) تقسيم شده،

وساعت، ناميده مي‌شود. البته معيار تاريخ در برنامه نويسي، ميلادي است.

براي تبديل به شمسي يا قمري، بايد از برنامه نويسي استفاده كنيد.

تابع :

تابع يا همان فانِكشين (Function)، مجموعه‌اي از يك يا چند كد است

كه در يك جا جمع شده و داراي نام شده‌اند.

آرگومان: گاهي، داخل پرانتزي كه بعد از نام تابع قرار مي‌گيرد،

چيزي نوشته مي‌شود به نام آرگومان كه يك نوع متغير است.

آرايه :

آرايه، مجموعه‌اي از چند داده (ثابت و متغير) است كه به عنوان يك واحد شناخته شده و اعضاي آن، با كد، مشخص شده‌اند.

به عبارت ديگر، تعدادي از اطلاعات كه در كنار هم قرار گرفته‌اند

و يك وجه مشترك داشته و به يك نام خوانده مي‌شوند.

حلقه :

 يكي ديگر از ويژگيهاي مفيد جاوا اسكريپت و همچنين ساير زبانهاي برنامه نويسي،

 توانايي ايجاد حلقه‌هاي تكرار، يا اجراي گروهي از دستورالعملها به صورت تكراري است.

اين، يكي از كارهايي است كه رايانه‌ها قادرند تا به خوبي آنها را انجام دهند، و آن چيزي نيست

 جز انجام كارهاي تكراري با دقت بالا.

در برنامه‌هاي اسكريپت، از حلقه‌هاي تكرار به عنوان يك ابزار قوي و مهم، استفاده‌هاي فراواني مي‌شود.
 

ادات حلقه :

 • از روشهاي مختلفي براي ايجاد حلقه، استفاده مي‌شود.

1. for
2. While
3. do ... while

معروفترين ابزار حلقه، for است.

ساختمان حلقه :

1. ابتداي حلقه:a = 0. اين عدد، شروع و ابتداي حلقه را معيّن مي‌كند.
2. انتهاي حلقه: a < 10. اين عدد، حداكثر و انتهاي حلقه - به عبارت ديگر، 3. افزايش يا كاهش: اين پارامتر، مشخص مي‌كند تعداد تكرار دستورات - را مشخص مي‌كند.
كه حلقه، در هر بار اجرا، يك واحد زياد شود يا كم.
4. جواب حلقه: حلقه، بي شباهت به شرط نيست. به عبارت ديگر: اگر متغير ما (a)، از 0 تا 10 تداوم داشت، نمايش پيام، ادامه داشته باشد.

فرم :

فرم وسيله‌اي است براي دريافت اطلاعات از كاربر.

method = نوع ارسال اطلاعات را معين مي‌كند، كه دو نوع است: post, get.

 اين دو روش با تفاوتهايي، عمليات ارسال را انجام ‌مي‌دهند. روش پُست، عمومي‌تر است و  از لحاظ امنيتي، برتري دارد.

 اگر متد را ننويسيد، از پُست، استفاده مي‌شود.

action = محلي را نشان مي‌دهد كه اطلاعات، براي پردازش،

 به آنجا ارسال خواهد شد؛ يعني آدرس يك صفحه است، كه در اينجا

 براي مثال، test.htm را انتخاب كرده‌ام.

name = نام فرم.

onSubmit = يك رويداد است. تابعي را كه در جاوا اسكريپت، نوشته‌ايد را صدا مي‌كند.

Get - Post = تفاوت بين اين دو، در چگونگي ارسال اطلاعات از فرم، به اسكريپت پردازشگر است.

  • اگر از روش گت، استفاده كنيد، مقدار اطلاعاتي كه مي‌توانيد ارسال كنيد، محدود است.
  • با استفاده از روش get، اطلاعات به دست آمده از فرم، به عنوان بخشي از يك URL، انتقال مي‌يابد؛ اما در روش post، اطلاعات، در حقيقت به صورت نامرئي، منتقل مي‌شود. اگر براي مثال، در روش گت، كاربر، يك رمز عبور را در فيلد پسورد، بنويسد، و فرد ديگري نيز در حال مشاهده صفحه نمايش كاربر باشد، به راحتي مي‌تواند از رمز عبور كاربر، آگاه شود. به عبارت ديگر، اين روش، در سطح امنيتي پايين‌تري از روش پست مي‌باشد.
  • صفحه‌اي كه حاوي فرمي با مشخصه گت است، مي‌تواند نشانه گذاري (Bookmark) شود؛ در حالي كه در روش پست، اين كار، ممكن نيست.

اشاره‌گر :

اشاره‌گر (Cursor)  همان شكلي است كه با حركت موس،

 در مانيتور، حركت مي‌كند و نمادي از انگشت و دست شماست براي اشاره به اشياء داخل صفحه.



کلمات تخصصی جاوا اسکریپت


 کلمات تخصصی جاوا اسکریپت

كـُد (Code): دستور و فرماني كه به زبان برنامه نويسي، نوشته شده.

تَـگ (Tag): كوچكترين جزء يك كد. مثلا تگ سر = ؛ تگ بدنه = ؛ تگ اسكريپت = . هر تگ بايد در داخل اين دو علامت < >، قرار گيرد.

پارامتر (Parameter): مقداري كه براي تگ، نوشته مي‌شود. مثلا براي تگ خط، معيّن مي‌كنيم كه از چه نوعي، به چه اندازه‌اي و چه رنگي باشد.

 مثال: كلمه ‍Color، در تگ Font، پارامتري است كه رنگ متن را مشخص مي‌كند.

 پارامتر را شايد بتوان اين گونه تعريف كرد كه "قيد حالت است براي تگ". تگ اسكريپت، هم داراي پارامترهايي است.

document = سند، صفحه جاري، پنجره‌اي كه در آن كار مي‌كنيد

document.bgColor = رنگ پس زمينه سند

new Date: متدِ زمان به صورت كلي و مطلق است. بعد از آن بايد نوع زمان خود را مشخص كنيد

 يعني چه قسمتي از زمان را مي‌خواهيد بدانيد؛ سال، ماه، هفته، روز و ... . به تنهايي چيزي را نشان نمي‌دهد.

toLocaleString: متدي براي به دست آوردن زمان كامل (تاريخ و ساعت) است كه به عنوان خصوصيت، براي زمان كلي استفاده مي‌شود.

document.write: متدي كه براي نوشتن متن در صفحه استفاده مي‌شود.

document.writeln: مانند دستور قبلي عمل مي‌كند؛ با اين تفاوت كه يك فاصله تا رشته قبلي، ايجاد مي‌كند.

; : به اين علامت، سِمي كالـِن گفته مي‌شود كه در پايان هر دستور، مي‌آيد؛ هر چند در جاوا، اجباري نيست.

// : به اين علامت، كامنت (Comment) گفته مي‌شود كه براي نوشتن توضيح، در ميان كدهاي برنامه نويسي است.

 هر عبارتي كه بعد از اين علامت بيايد، توسط برنامه، خوانده و اجرا نمي‌شود و صرفا ً توضيحي است كه برنامه نويس، يادداشت كرده.

ID: آي‌دي، همان نام (Name) شي است؛ البته گاهي در عمل تفاوتهايي با هم دارند.

innerText: با اين دستور، متن يك تگ در قسمت بدنه  نمايش داده مي‌شود؛ و مي‌توانيم  آنرا تغيير داده و ويرايش كنيم.

outerHTML - innerHTML - outerText: اين 3 متد، شبيه دستور قبلي است؛ البته با كمي تفاوت.

setTimeout: دستور تايمر و زمان شمار است. بعد از آن، يك جفت پرانتز، قرار دارد كه داخلش، دو پارامتر نوشته مي‌شود:

1. اسم چيزي است كه قرار است اجرا شود؛ مانند يك تابع.

2. زماني كه تايمر در آن فعال خواهد شد. واحد زمان، ميلي ثانيه است. (1000 = يك ثانيه)

setInterval: دستور تايمر و زمان شمار است. مانند دستور قبل، عمل مي‌كند.

Table = جدول.

Row = سطر، ستون افقي.

Cell = سلول، خانه‌هاي جدول.


عملیات برنامه نویسی با زبان جاوا اسکریپت


عملیات برنامه نویسی با زبان جاوا اسکریپت

يك عمليات برنامه نويسي، داراي سه بخش، است.
1. دريافت داده. در اين قسمت، اسكريپت، اطلاعاتي را كه نياز دارد، مي‌گيرد.
2. پردازش داده. در اين قسمت، اطلاعاتي كه تهيه كرده، تجزيه و تحليل مي‌كند.
3. نمايش داده. در اين قسمت، اطلاعات پردازش شده را، ارائه مي‌كند.

راه دريافت داده :

به نظر شما، يك اسكريپت، از چه راهي اطلاعات خود را به دست مي‌آورد؟  از 3 روش.
1. برنامه نويس. معمولا شما به عنوان برنامه نويس، اطلاعاتي را به او مي‌دهيد. مثلا يك كلمه عبور و پسورد را ذخيره مي‌كنيد، كه اگر كلمه‌اي كه كاربر وارد كرده با آن، يكي بود، اجازه ورود به او مي‌دهد؛ وگرنه با يك پيام خطا، مانع ورود او مي‌شود.


2. كاربر. بعضي از اوقات، كاربر، اطلاعاتي را به برنامه شما مي‌دهد؛ مانند مثال قبلي، كه كلمه‌اي را به عنوان كلمه عبور، وارد كرده.


3. سيستم. در بسياري از مواقع، اين سيستم و رايانه شماست كه منبع اطلاعاتي برنامه است. مثلا براي نمايش زمان و تاريخ، با يك متد ساده، تاريخ مورد نظر را از رايانه، به دست آورده و نمايش مي‌دهيد.
 

انواع داده (ثابت و متغير) :

بعضي از اطلاعاتي كه يك برنامه، به دست مي‌آورد، ثابت (Constant) است، و بعضي، متغير (Variable).

 متغير به اين معني كه يك چيز ثابت، مشخص و از پيش تعريف شده نيست. آنچه كه برنامه نويس، بيشتر با او سر و كار دارد، متغير است.


به مثال قبلي دقت كنيد. به نظر شما كدام قسمت از داده‌ها، ثابت و مشخص است، و كدام، متغير و تعريف نشده؟

كلمه‌اي كه برنامه نويس نوشته، مشخص و ثابت است، و كلمه‌اي كه كاربر، ممكن است وارد كند، نامشخص و متغير.

 زمان و تاريخي كه از رايانه دريافت مي‌شود، چطور؟ ثابت است يا متغير؟

اميدوارم مطلب، براي شما واضح شده باشد.
 

معرفي متغير و ثابت :

بعد از اين مقدمه، بايد ياد بگيريد كه چگونه مي‌شود يك متغير، به زبان برنامه نويسي نوشت.

 تا اينجاي درس، ميان تمام زبانهاي برنامه نويسي مشترك بوده؛ ولي نوشتن و مشخص كردن ثابت و متغير، در زبانها، مختلف است.

 مثلا در زبان ويژوال بيسيك و VB Script با Dim، يك متغير را معرفي ‌مي‌كنند و با Const، يك ثابت را.

 در حالي كه در زبان دلفي، PHP و جاوا اسكريپت با Var، متغير معرفي مي‌شود.

متغير در جاوا اسكريپت :

1. نام گذاري متغير
مي‌توانيم براي هرچيزي نامي انتخاب كنيم - مثلا براي اطلاعات، يا متدهاي جاوا

 و به جاي آنكه مرتبا اسم بلند و طويل، و گاهي مشكل آن متد را بنويسيم، نامي كه خودمان برايش انتخاب كرديم را صدا مي‌كنيم.

- يك متغير را در جاوا، بعد از كلمه كليدي var و به اين صورت مي‌نويسند: var name.


- به جاي name، هر اسمي كه دوست داريد بنويسيد. البته بهتر است اسم انتخابي شما، مناسب با نوع متغير باشد.


- هر كجا كه var  نوشته شده، مشخص است كه متغيري را مي‌خواهند تعريف كنند.

2. مقدار دهي متغير
- مقدار دهي يعني مشخص كنيم كه اين متغير، برابر با چه داده و اطلاعاتي است.


- اين كار را با علامت = انجام مي‌دهيم. اول، نام متغير را نوشته، و بعد از آن مساوي،

 و سپس داده يا متد مورد نظر را يادداشت مي‌كنيم. به اين صورت:

var name = new Date ();

مثال: قرار است  برنامه‌اي بنويسيم كه زمان را به ما نمايش دهد.

وسايل مورد نياز:

window = شي صفحه است، كه داراي  متدهاي مختلفي است.

window.scroll = متد اسكرول صفحه. داخل پرانتز، دو پارامتر دارد كه دو عدد هستند كه موقعيت صفحه را نشان مي‌دهند.

 اولي، موقعيت فعلي صفحه؛ دومي، موقعيتي كه بايد به آنجا برسد.

window.scrollTo - window.scrollBy = دو متد ديگر از parent هستند. با تمرين، به دست آورديد كه چه كاري انجام مي‌دهند.

parent = معادل window است و در مورد اسكرول، مي‌تواند به جاي آن قرار گيرد.


كد اسكريپت
متد زمان new Date (), toLocaleString()
متد نوشتن document.write ( )

با استفاده از اين وسايل و از روشي كه گفته شد - دريافت داده - پيش مي‌رويم.
 

 

 • دستور و متدهاي زمان.

متدهاي زمان

new Date () زمان Thu Nov 23 22:19:08 UTC+0330 2006

Thursday, November 23, 2006 10:19:08 PM

Thursday, November 23, 2006

10:19:08 PM

Thu, 23 Nov 2006 18:49:08 UTC

2006

10

4

23

22

19

8

toLocaleString () زمان كامل
toLocaleDateString () فقط تاريخ
toLocaleTimeString () فقط ساعت
toGMTString() زمان بين المللي
getYear() سال
getMonth() ماه
getDay() روز هفته
getDate() روز ماه
getHours() ساعت
getMinutes() دقيقه
getSeconds() ثانيه

جدول شماره 4

 زمان، داراي اجزا مختلف است؛ يعني انسان، آنرا به بخشهاي مختلف تقسيم كرده تا قابل استفاده باشد.

 قسمتي از آن، تاريخ (سال، ماه، هفته و روز) نام دارد، و قسمتي از آن، به اجزا كوچكتر (ساعت، دقيقه و ثانيه) تقسيم شده، و ساعت، ناميده مي‌شود.

 البته معيار تاريخ در برنامه نويسي، ميلادي است.

 براي تبديل به شمسي يا قمري، بايد از برنامه نويسي استفاده كنيد.

در مثال قبل، مي‌توانيد به جاي getHours، از متدهاي ديگر استفاده كنيد.

پيشنهاد ميكنم هر كدام از آنها را به صورت جداگانه در document.write، قرار داده و نتيجه‌اش را ببينيد.

واژه نامه

new Date: متدِ زمان به صورت كلي و مطلق است.

 بعد از آن بايد نوع زمان خود را مشخص كنيد؛ يعني چه قسمتي از زمان را مي‌خواهيد بدانيد؛ سال، ماه، هفته، روز و ... . به تنهايي چيزي را نشان نمي‌دهد.


toLocaleString: متدي براي به دست آوردن زمان كامل (تاريخ و ساعت) است كه به عنوان خصوصيت، براي زمان كلي استفاده مي‌شود.


document.write: متدي كه براي نوشتن متن در صفحه استفاده مي‌شود.


document.writeln: مانند دستور قبلي عمل مي‌كند؛ با اين تفاوت كه يك فاصله تا رشته قبلي، ايجاد مي‌كند.


; : به اين علامت، سِمي كالـِن گفته مي‌شود كه در پايان هر دستور، مي‌آيد؛ هر چند در جاوا، اجباري نيست.


// : به اين علامت، كامنت (Comment) گفته مي‌شود كه براي نوشتن توضيح، در ميان كدهاي برنامه نويسي است.

 هر عبارتي كه بعد از اين علامت بيايد، توسط برنامه، خوانده و اجرا نمي‌شود و صرفا ً توضيحي است كه برنامه نويس، يادداشت كرده.


ارتباط موس و صفحه کلید با جاوا اسکریپت


 ارتباط موس و صفحه کلید با جاوا اسکریپت

موس و صفحه كليد، به عنوان گيرندههاي رايانه هستند كه به وسيله آنها مطالب را وارد مي‌كنيم.

 مثلا براي نوشتن اين متن، از صفحه كليد استفاده كرده‌ام. حرف ت را فشردم، تا در اين صفحه، نوشته شد.

 البته ميان فشردن كليد و نوشته شدن در صفحه - كه بلافاصله انجام مي‌شود - عملياتي انجام مي‌گردد كه از ديد ما پنهان است.

هر كليد، يك كد عددي دارد كه با فشرده شدن، از صفحه كليد به بخش مربوطه در رايانه، فرستاده مي‌شود.

 آنجا بعد از پردازش، تبديل به حرف معادل آن كد شده، و در متن، نمايش داده مي‌شود.

استخراج كُد كليد (Key Code) :

 • صفحه كليد

استخراج كُد كليد (Key Code)، كار راحتي است.

 در زبان جاوا اسكريپت، براي به دست آوردن آن، از اين دستور استفاده مي‌شود:  window.event.keyCode

مثال : برنامه زیر كد هر كليد را در يك جعبه متن، نشان دهد.

//***صفحه كليد
function funKeyCode(){
    varkey = window.event.keyCode;
    inCode.value = key;
}
document.onkeypress=funKeyCode;// تنظيم رويداد

در قسمت بدنه، جعبه متني قرار دهيد كه محل نمايش كد باشد.

<input name="inCode" type="text" value=""size="5" readonly>

كد هر كليدي را كه فشار دهيد، اينجا نوشته مي‌شود:

موس

موس نيز مانند صفحه كليد عمل مي‌كند؛ منتها داراي كليدهاي كمتري است.

 از اين كد  :  window.event.button مي‌توانيد براي استخراج كد كليد موس، استفاده كنيد.

مثال : برنامه زیر كد کلیک موس را در يك جعبه متن، نشان دهد.

//***كليك موس
function funClick()
{
    if (document.all)
    {
        if (window.event.button)
        {
            inButton.value = window.event.button;
        return false;
        }
    }
}
document.onmousedown=funClick;// تنظيم رويداد

در قسمت بدنه، جعبه متني قرار دهيد كه محل نمايش كد باشد.

<input name="inButton"type="text" value=""size="5" readonly>

كُد كليك موس :

 • اشاره‌گر

اشاره‌گر (Cursor)   همان شكلي است كه با حركت موس، در مانيتور، حركت مي‌كند و نمادي از انگشت و دست شماست براي اشاره به اشياء داخل صفحه.

تاريخ تولد اشاره‌گر و و موس، به ابتدايي‌ترين سيستم عامل ويندوز برمي‌گردد.

 قبل از آن، سيستم عامل داس بود و آن محيط سياه و مَخوف. نه اثري از رنگ بود، نه صوت و نه موس.

اشاره‌گر، داراي شكلهاي مختلفي است، و در حالات گوناگون، تغيير شكل مي‌دهد.

مثلا گاهي به شكل ساعت شني، و گاهي به صورت يك فلش دو سر يا چهار سر، يا علامت سوال، تبديل مي‌شود.

اين تغيير شكلها، همه به دست تواناي شماي برنامه‌نويس، ميسّر مي‌شود و بس.

 خوشبختانه در وب نيز مي‌شود شكل دلخواه و مورد نياز به اشاره‌گر داد؛ ‌كافي است كه كد هر شكل را بنويسيد.

كـُد :

قبل از نوشتن كد، توضيحي بايد عرض كنم، و آن اين است كه تغيير شكل اشاره‌گر، به صورت مستقيم به جاوا اسكريپت مربوط نمي‌شود

 بلكه مربوط به مبحث استايل (Style) است؛ اما مي‌شود در جاوا از آن به دلخواه استفاده نمود.

استايل :

استايل(Style)، تگي است مانند اسكريپيت (Script) كه درون تگ (Head) نوشته مي‌شود.

 همانند جاوا، دو قسمت دارد: 1- نوشتن كد 2- فراخواني كد.

1- نوشتن كد. كد را داخل تگ استايل و درون head ، مي‌نويسيم.




#Hand = نام كد، كه به دلخواه شماست.

 { } = كد، داخل اين علامت، نوشته مي‌شود.

 Cursor: hand = كد شكل اشاره‌گر، كه در اينجا به صورت دست است.

2- فراخواني كد. شي مورد نظر را، كه قرار است اشاره‌گر، به محض رفتن بر روي آن، تغيير شكل دهد، داخل بدنه مي‌نويسيم.

 آن شي، ممكن است يك عكس باشد يا يك متن يا چيز ديگر. در اين مثال، متني را در نظر گرفته‌ام كه درون تگ (Span) نوشته‌ام.



ID="Auto">Auto

ID="Crosshair">Crosshair

ID="Default">Default

ID="Pointer">Pointer

ID="Hand">Hand

ID="Move">Move

ID="e-resize">e-resize

ID="ne-resize">ne-resize

ID="nw-resize">nw-resize

ID="n-resize">n-resize

ID="se-resize">se-resize

ID="sw-resize">sw-resize

ID="s-resize">s-resize

ID="w-resize">w-resize

ID="text">text

ID="wait">wait

ID="help">help



ID = آي‌دي، همان نامي است كه در بالا نوشتيم؛ مانند (Hand).

اسم هر كد، نمايانگر حالت و نوع آن است.

اشاره‌گر دست‌ساز :

اينها، شكلهاي پيش فرض و موجود در ويندوز است.

 و مي‌شود شكل اشاره‌گر را آنگونه كه خودمان مي‌خواهيم، تغيير دهيم .

 يعني به شكلي كه خودمان طراحي كرديم. كافي است يك اشاره‌گر - كه با پسوند cur. است - انتخاب كرده و آدرس آنرا بنويسيد.

 به اين صورت:

#Test {Cursor: url (test.cur); }


حرکت ، بخش موس و اشیاء


حرکت ، بخش موس و اشیاء

• تعقيب اشاره‌گر :

• براي اين عمليات، ابتدا موقعيت اشاره‌گر را به  دست مي‌آوريم.

 با اين دو دستور (event.clientY - event.clientX) مي‌شود موقعيت اشاره‌گر را گرفت.

 

موقعيت موس از بالا - clientY:

موقعيت موس از چپ - clientX:

• حالا بايد چيزي را كه مي‌خواهيد به دنبال اشاره‌گر، حركت كند مشخص نماييد.

 اين شي مي‌تواند از لحاظ ظاهر، متن يا عكس يا هر چيز ديگر، و از لحاظ محتوا، ثابت يا متغير باشد.


- سه متن بنويسيد؛ يك متن براي حركت عمودي، و يك متن براي حركت افقي، و يكي هم براي حركت كامل.


- هر كدام را داخل يك لايه قرار دهيد.


- لايه‌ها را به اين ترتيب نامگذاري نماييد: (div1 - divY - divX)


- استيل آنها را به اين صورت تعريف كنيد: (style=position: absolute). اين كد، به شي مورد نظر اجازه حركت مي‌دهد.

كد HTML:

id="div1" style="position: absolute;">متن


id="divY" style="position: absolute;">عمودي


id="divX" style="position: absolute;">افقي

كد JavaScript:

function cursorPos() // تابع
{
// حركت عمودي و افقي
div1.style.top = event.clientY;
div1.style.left = event.clientX;
// حركت عمودي
divY.style.top = event.clientY;
// حركت افقي
divX.style.left = event.clientX;
}
document.onmousemove=cursorPos;

حركت دادن اشياء :

• مراحل عمليات:

- ساختن شي مورد نظر
- به دست آوردن موقعيت اشاره‌گر
- به دست آوردن موقعيت شي مورد نظر
- تعريف كردن رويداد كليك و كشيدن

• شيئي كه براي اين كار در نظر گرفته‌ام، يك جدول است كه شبيه كادرهاي محاوره‌اي در ويندوز مي‌باشد.


- اين جدول، داراي دو سلول است. سلول اول، براي عنوان كادر و محل كشيدن و جابجايي، و سلول پايين، محل نوشته محتوي است.


- داخل سلول اول، يك لايه (div) قرار داده‌ام به نام (moveMe1). جدول را هم (moveMe)، نامگذاري نموده‌ام.


- استيل جدول را به اين صورت تعريف كنيد: (style=position: relative). اين كد، به شي مورد نظر اجازه حركت مي‌دهد.

كد HTML:

<table id="moveMe" style="position: relative;" border="0" width="200" bgcolor="#FBF9FB">


<div id="moveMe1"> div>


 

table>

كد JavaScript:

mouseover = true
function coordinates()
{
if (!moveMe)
{
return
}
if (event.srcElement.id == "moveMe1")
{
mouseover = true
// موقعيت جدول
pleft = moveMe.style.pixelLeft
ptop = moveMe.style.pixelTop
// موقعيت اشاره‌گر
xcoor = event.clientX
ycoor = event.clientY
document.onmousemove = funmove
}
}
function funmove()
{
if (mouseover && event.button == 1) // اگر كليك چپ شد
{
moveMe.style.pixelLeft = pleft + event.clientX-xcoor
moveMe.style.pixelTop = ptop + event.clientY-ycoor
moveMe1.style.cursor = "move"; // تغيير شكل اشاره‌گر
moveMe.style.filter = "alpha(opacity=50)"; // استفاده از فيلتر آلفا
return false
}
}
function mouseup()
{
moveMe1.style.cursor = ""; // شكل عادي اشاره‌گر
moveMe.style.filter = "alpha(opacity=100)"; // از كار انداختن فيلتر آلفا
mouseover = false
}
document.onmousedown=coordinates
document.onmouseup=mouseup
 

شرح كد:
- moveMe1.style.cursor = move = در جلسه 17، خوانديم كه شكل اشاره‌گر، قابل تغيير است. در اينجا، شكل "حركت" را انتخاب مي‌كنيم.


event.button == 1 = در جلسه 17، ديده شد كه كد كليك چپ، 1 است.

 با به دست آوردن اين كد، مي‌فهميم كه موس، در حالت كليك باقي مانده؛ يعني همان كشيدن به وسيله موس.


- moveMe.style.filter = "alpha(opacity=50)" = به وسيله اين كد، كه از زبان HTML است،

 به جدول خود، فيلتر آلفا، يا همان كمرنگ شدن در حالت جابجايي مي‌دهيم.


حرکت ، بخش پنجره ها


 حرکت ، بخش پنجره ها

• حركت پنجره :

براي حركت پنجره، دو دستور وجود دارد.

1- window.moveBy (x, y)

با اين دستور، مي‌توان پنجره را يكباره به منطقه‌اي كه با عدد مشخص (x, y) مي‌شود، منتقل كرد.

2- window.moveTo (x, y)

اين دستور مانند دستور قبل عمل مي‌كند؛ با اين تفاوت كه اگر آنرا در يك حلقه قرار دهيم، به آهستگي پنجره را حركت مي‌دهد.

كد: كافي است اين كد را داخل يك اسكريپت قرار داده و صفحه را باز كنيد.

for(a =1; a <= 250; a++) {window.moveTo (250, a)};

• تغيير اندازه پنجره :

براي تغيير اندازه پنجره، دو دستور وجود دارد.

1- window.resizeTo (x, y)

با اين دستور مي‌توان اندازه پنجره را تغيير داد و اگر آنرا در يك حلقه قرار دهيم، به آهستگي اندازه پنجره را تغيير مي‌دهد.

كد:

for(a =1; a <= 500; a++) {window.resizeTo (100, a)};
for(b = 1; b<= 500; b++) {window.resizeTo (b, 500)};

2- window.resizeBy (x, y)

اين دستور هم براي تغيير اندازه است؛ اما به دقت و قدرت دستور قبلي نيست.
 


خواندن کوکی ها


خواندن کوکی ها

براي خواندنCookie
if(document.cookie !="") { 1.
درصورت خالي نبودن محتويات Cookie به مرحله بعد ميرود.  

document.write("Hello, "+ document.cookie.split("=")[1])

2.
در صورتي که Cookie خالي نباشد,

رشته حرفي "Hello" به همراه مقدار موجود در Cookie در صورت نمايش, ظاهر ميگردد.

 
نکته :
  • در صورتي که دقت کرده باشيد, به اين نکته پي خواهيد برد که  Cookie خاصي انتخاب نشده است!
  • زيرا هر Cookie تنها توسط Server, مخصوص که براي اولين بار درون آن نوشته شده, خوانده ميشود.
  •  يعني فقط ميتوانيد به Cookie هاي مربوط به خود دسترسي پيدا نماييد.
 


نمایش کوکی


نمایش کوکی
به منظور نمايش Cookieها

if(document.cookie == "") {
document.write("There are no cookies here")

1.
در صورتيکه محتوي Cookieها خالي باشد, پيغام "There are no cookies here" نشان داده ميشود.  
else {
thisCookie = document.cookie.split("; ")
2.
ولي در صورتيکه محتواي آن خالي نباشد,

 مقدار تمامي Cookieهاي موجود توسط document.cookie.split("; ")sگرفته شده و در متغييري بنام thisCookie قرار داده ميشود.

 به ياد داشته باشيد که توسط دستورsplit("; ")sآرايه اي از تمام Cookieها بوجود آمده

 تا درنهايت بتوان به مقدار هر Cookie ارجاعي داده شود.

 

for (i=0; i

3.
در حلقه فوق, که شمارنده آن از صفر شروع ميشود,

 در صورتيکه i کمتر از تعداد Cookieها در آرايه thisCookie باشد به مقدار i, يک واحد مي افزايد.

 
document.write("Cookie name is"+thisCookie[i].split("=")[0])
document.write(",and the value is"+thisCookie[i].split("=")[1]+"
")
4.
و درصورت وجود Cookie در پنجره browser ابتدا عبارت "Cookie name is"

و بعد نام Cookie و به دنبال آن, عبارت and the value is به همراه مقدار Cookie نوشته ميگردد.



ایجاد کوکی با جاوا اسکریپت


ایجاد کوکی با جاوا اسکریپت

Cookie يکسري رشته حرفي با فرمت مشخص ميباشد. يعني:
CookieName = CookieValue; expires = expirationDateGMT ; path = URLpath ; Domain = siteDomain
توضيح خطوط فوق از اين قرار است که اولين قسمت رشته حرفي به Cookie اسم

و مقدار مربوطه را تخصيص داده که بايستي هميشه در ايجاد Cookie در نظر داشت.

سپس تاريخ انقضاي Cookie توسط expiration Date تعيين ميشود که در فرمان تعيين شده فوق, browser بطور اتوماتيک, Cookie را پاک ميکند.

 سپس اجازه وجود يک URL داده شده و در نهايت آدرس domain در Cookie تنظيم ميگردد.

توجه داشته باشيد که ميتوان از چند Cookie درون يک صفحه استفاده نمود بدين منظور بعد از مشخصات هر قسمت, از علامت " ; " استفاده ميگردد.

براي ايجاد Cookie

expireDate = new Date

1.
ابتدا تاريخ فعلي گرفته شده و در متغيير expireDate نهاده ميشود.  

expireDate.setMonth(expireDate.getMonth()+6)

2.
بدين صورت مقدار تاريخ اعتبار Cookie مورد نظر, 6 ماه تعيين ميگردد.  

userName = ""

3.
سپس متغيير userName با مقدار خالي تعريف ميگردد.  

userName = document.cookie.split("=")[1]

4.
ابتدا خالي نبودن محتوي Cookie بررسي ميشود.

 سپس توسط متد ("=")split, هر record مربوط به Cookie به فيلدهاي مختلف تقسيم ميشود بطوريکه

مثلCookieField[0]sنام وCookieField[1]sمقدار Cookie ميباشد.

 
function setCookie() {
userName = document.myForm.nameField.value
5.
در اين مرحله يک تابع جديد با نامsetCookie()s ايجاد شده,

 سپس در خط بعد مقدار UserName توسط اطلاعات وارد شده کاربر درون فيلد فرم, مجددا نوشته ميشود.

 
document.cookie = "username=" + username + ";expires=" + expireDate.toGMTString() 6.
همانطور که در مطالب قبل ذکر شد, Cookie ها شامل رشته هاي حرفي ساده ميباشد,

 در نتيجه توسط document.cookie, نام کاربر و تاريخ انقضاء نوشته شده

زيرا توسط متد toGMTString, تاريخ expireDate به رشته حرفي تبديل شده,

 که نتيجتا ميتوان آن را درون Cookie قرار داد.

 
 onLoad="document.myForm.nameField.value=userName" 7.
دستور onLoad در تگ body, نام کاربر را در صورت وجود در فايل Cookie درون فيلد name مينويسد.  
8.
نهايتا هنگام رهايي کاربر از فيلد متن, توسط کنترل کننده onBlur, تابع setCookie فرا خوانده ميشود.


معادلات قاعده ای


معادلات قاعده ای

کاربرد : اعتبار دادن به دریافت ها از کاربر

مثلا اینکه کاربر تا ایمیل خود را صحیح وارد نکند توانایی ارسال آن را نداشته باشد

و یا آدرس و یا پسوند اعتبار داده شده از طرف شما را وارد نکند توانایی ارسال آن را نداشته باشد.

تعریف :

RegExp هميشه با يک علامت / شروع و پايان مي يابد و هر آنچه که درون اين دو علامت باشند, را

معادله قاعده اي مي نامند.

RegExp ها با دو حرف اول re شروع می شوند

و یک مقدار برای آنها در نظر گرفته می شود که با جدول زیر تعیین می گردد.

به کارکتر بعد از خود, مفهومي حرفي و يا مفهومي خاص ميدهد

\

شروع رشته (String) ^
پايان رشته $
صفر يا چند مرتبه *
يک يا چند مرتبه +
صفر يا يک مرتبه ?
هر کارکتر بجز خط جديد .
محدوديت لغتي \b
عدم محدوديت لغتي \B
ارقام بين 0 تا 9 \d
محدوديت استفاده از ارقام \D
فرم \F
خط جديد \A
بازگشت \r
هر يک از کارکترهاي White space \s
هيچ يک از کارکترهاي White space \S
Tab \t
Tab عمودي \v
هر حرف , يا Underline \w
هر کارکتر غير از حرف , عدد يا Underline \W
کارکترهاي ASCII که با اعداد هگزادسيمال nn مشخص ميشوند \xnn
کارکترهاي ASCII با اعداد اکتال nn مشخص ميشوند \onn
کارکتر کنترل X \cX
مجموعه کارکترهاي که با هر يک از کارکترهاي داخل براکت مطابقت داشته باشد [abcde]
مجموعه کارکترهاي که با هر يک از کارکترهاي داخل براکت مطابقت نداشته باشد [^abcde]
مجموعه کارکترهاي که با هر يک از کارکترهاي داخل براکت مطابقت دارد [a-e]
کارکترهاي حرفي b\ [\b]
دقيقا n اتفاق از کارکتر قبلي {n}
حداقل اتفاق از کارکتر قبلي {n , }
بين n و m اتفاق از کارکتر قبلي {n , m}
گروه سازي براي استفاده در آينده ()
يا x يا y X |Y

تمرین :

مثلا ما بانوشتن خط زیر می توانیم آدرس ایمیل ها را معتبر کنیم

re =/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/
بررسی معادله :

 1 . معادله را باید در مکان آن نوشت     / اینجا / = re

2 . علامت ^ براي آزمايش از ابتداي رشته حرفي بوده زيرا ممکن است کاربر , کلمات و يا علامات نامفهومي را نوشته باشد.

3 . علامت + بدين معني ميباشد که يک يا چند جزء قبلي در حال بررسي ميباشند.

در اين حالت که يک آدرس email , بايستي با يک يا چند ترکيب از کارکترهاي  a تا z ,.A تا Z,.0 تا 9   و خط تيره شروع شود.

4 . علامت [] براي استفاده از يک يا چند کارکتر مورد نظر , استفاده ميشود. در اين تمرین , کارکترهاي -.\ داخل براکت ( [] ) ميباشد.

5 . علامت ? یعنی ميتوان يک يا هيچکدام از کارکترهاي قبلي را مورد استفاده قرار داد.

6 . بعد از علامت ( , انتهاي گروه باز شده را مشخص ميکند.

7 . علامت * بدين مفهوم است که ميتوان از موارد ذکر شده در گروه قبل ( داخل پرانتز) هم استفاده کرد و يا آنها را اصلا بکار نبرد

8 . علامت @ مابين آدرس email و نام domain مربوطه قرار ميگيرد.

9. استفاده مجدد از +W\, بدليل آنست که نام domain بايستي با يکي از کارکترهاي a تا z , . A تا Z, . 0 تا 9 ويا خط فاصله شروع گردد.

10. دوباره عبارت ( + w \ ? [ - . \ ] ) استفاده شده که وجود " . " يا " - " را در قسمت پسوند email مجاز ميشمارد.

11. گروه داخل پرانتز {2,3}w\.\ پس از آن قرار گرفته شده که از وجود يک نقطه به همراه چند کارکتر خبر مي دهد.

  12.{2,3} نيز مقدار 2 يا 3 کارتر قبلي مي باشد.

13 .   علامت + , وجود تعداد دفعات جزء تعداد دفعات جزء قبلي را بيان ميکند. مثلا پسوند نهايي ميتوان بصورت "Com" , ".edu" , "Ox.ac.uk" باشد.

14 . نهايتا با قرار دادن علامت $ رشته حرفي پايان يافته و از قرار دادن موارد نامناسب ديگر توسط کاربر جلوگيري کند .

 

if(re.test(myForm.emailAddr.value)) {

با استفاده از دستور test().اعتبار myForm.emailAddr.value بررسي ميشود

 که در صورت قرار گرفتن نمونه اي نادرست , پيغام اشتباه همراه با اخطار نمايان شده

و در غير آن که يک متغيير معتبر است (آدرس email درست نوشته شده باشد) پيغامي نميگردد.

که اسکریپت جاوا برای آن :

و کد فرم آن در اچ تی ام ال ( در صفحه ) :


Email:


حلقه ها در زبان جاوا اسکریپت ( ادامه از بخش اول )


حلقه ها در زبان جاوا اسکریپت ( ادامه از بخش اول )

حلقه for ... in

 • اين حلقه، فقط براي يك منظور استفاده مي‌شود؛ به دست آوردن خصوصيات اشياء.

سوال مهم اين است: چگونه خصوصيات و رويداد يك شي را به دست آوريم؟

 اين پرسش، ممكن است براي هر كسي، پيش آمده باشد.

از خود جاوا بپرسيم. بله، بهترين و ساده‌ترين راه، اين است كه از خود جاوا اسكريپت، سوال كنيم

 كه خواص فلان شي _ مثلا  window - چيست.

 به وسيله همين حلقه، از جاوا درخواست مي‌كنيم كه هرچه درباره يك شي، وجود دارد، به ما بگويد.

ساختمان حلقه :

for (varx inobject)
{
    document.write ("

  • object." + x + " = " + object [x]);
    }

    مشاهده مي‌كنيد كه ساختمان اين حلقه، با حلقهfor كه قبلا ديده‌ايم، تفاوت دارد.

    x =  خصوصيات شي. يك متغير است كه بيانگر تمام خصوصيات شي است.
    in =  كلمه‌اي كليدي؛ به اين معني كه هرچه خصوصيات (x) در اين شي است.
    Object = به جاي اين كلمه، نام شي را بنويسيد؛ مثلا window, document.
    object [x] = شيئي كه نوشته‌ايم، تبديل به آرايه مي‌شود؛ يعني يك متغير كه داراي چندين مقدار است.

    مثال : خصوصيات شي سند (window) را  می توانید به کمک حلقه زیر به دست آورید.

    كد:

    شي: هر كدام كه مقابلشobject نوشته شده، يك شي ديگري است

     كه زير مجموعه window مي‌باشد؛ مانند top.

    رويداد: هر كدام كه با on شروع شده، رويداد (event) است؛ مانند onload.

     مقابل رويدادهايي كه از آنها در پنجره، استفاده نكرده‌ايم، null نوشته مي‌شود؛

     در غير اين صورت، نوع عمليات را مي‌نويسد.

    خصوصيت: هر چيزي به غير از اينها،خصوصيات window است،

     كه معمولا چيزي مقابلش نوشته شده است

     مانند screenTop، كه موقعيت پنجره را از بالا، نشان مي‌دهد.

     اگر پنجره را تغيير مكان دهيد و رفرش كنيد، مقدار آن تغيير مي‌كند.


  • حلقه ها در جاوا اسکریپت


    حلقه ها در جاوا اسکریپت

    تعريف حلقه :

     • « يكي ديگر از ويژگيهاي مفيد جاوا اسكريپت و همچنين ساير زبانهاي برنامه نويسي،

     توانايي ايجاد حلقه‌هاي تكرار،

     يا اجراي گروهي از دستورالعملها به صورت تكراري است.

     اين، يكي از كارهايي است كه رايانه‌ها قادرند تا به خوبي آنها را انجام دهند،

     و آن چيزي نيست جز انجام كارهاي تكراري با دقت بالا.

     در برنامه‌هاي اسكريپت، از حلقه‌هاي تكرار به عنوان يك ابزار قوي و مهم،

     استفاده‌هاي فراواني مي‌شود.

    ادات حلقه :

     • از روشهاي مختلفي براي ايجاد حلقه، استفاده مي‌شود.

    1. for
    2. While
    3. do ... while

    معروفترين ابزار حلقه، for است.

    ساختمان حلقه for :

     • ساختمان حلقه، شبيه يك زنجير است كه از تعدادي حلقه، ساخته شده است.

    for (Counter; Condition Expression; step)
    {Code}

    حلقه for، از چهار جزء، تشكيل شده است.

     همانطور كه مي‌بينيد، داراي سه پارامتر است كه داخل پرانتز ( ) قرار گرفته‌اند

    و با سمي كالن (;) از هم جدا مي‌شوند ،

     و يك جواب، كه حاوي كد مورد نظر ما بوده، و داخل يك كروشه { } قرار مي‌گيرد.

    1. ابتداي حلقه:a = 0. اين عدد، شروع و ابتداي حلقه را معيّن مي‌كند.

    2. انتهاي حلقه: a < 10. اين عدد، حداكثر و انتهاي حلقه - به عبارت ديگر، تعداد تكرار دستورات - را مشخص مي‌كند.


    3. افزايش يا كاهش: اين پارامتر، مشخص مي‌كند كه حلقه، در هر بار اجرا، يك واحد زياد شود يا كم.

    4. جواب حلقه: حلقه، بي شباهت به شرط نيست. به عبارت ديگر: اگر متغير ما (a)، از 0 تا 10 تداوم داشت، نمايش پيام، ادامه داشته باشد.

    نكته: اگر حلقه، تنها شامل يك جواب باشد ، نيازي نيست كه آن را درون علامت كروشه { } قرار دهيم.

    مثال : دستورالعمل زير، پيامي را 10 مرتبه ، جهت توجه بيشتر كاربر، نمايش مي‌دهد:

    for (a = 0; a < 10; a++)
    {
        document.write ("پيام" + a); // جواب حلقه
    }

    ساختمان حلقه while :

    حلقه while از لحاظ اجزاء تشيكل دهنده، فرقي با حلقه for نداري؛ اما از لحاظ تركيب و محل قرار گرفتن آنها، متفاوت است.

    var a = 0;
    while (a < 10)
    {
    document.write ("پيام",a ,"
    ");
    a++;
    }


    همانطور كه مي‌بينيد، متغير، قبل از while، تعريف شده، و داخل پرانتز، يك پارامتر قرار گرفته.

     پارامتر افزايش هم بعد از كد، نوشته شده. به محل قرار گيري اين پارامتر دقت كنيد ،

     چون اگر قبل از دستور، نوشته شود، معناي ديگري مي‌دهد و كمي در نتيجه كار، تغيير ايجاد مي‌كند.

    ساختمان حلقه do ... while :

    var a = 0;
    do
    {
    document.write ("پيام",a );
    a++;
    }
    while (a < 10);

    توجه داريد كه براي درك راحت اين مفاهيم، فقط اسكلت و شكل ساده آنها را نوشته‌ام.

    اهميت حلقه :

    اگر به شباهت حلقه و شرط دقت كنيد، متوجه اهميت آن نيز خواهيد شد.

    حداقل فايده حلقه، اختصار در كدنويسي است.

     مثلا به جاي اينكه ده مرتبه يك عبارت را بنويسيد،

     اينكار را با دستور ساده حلقه، به راحتي مي‌توانيد انجام دهيد.

    مثال عملی1 : ساخت جدول ضرب، با حلقه

    ابتدا لازم است بدانيد كه چگونه يك جدول (Table) در اچ ‌تي‌ام‌ال ساخته مي‌شود.

    ساختمان جدول با کد های اچ تی ام ال :

    جدول، تشكيل شده از ستون افقي و ستون عمودي.

     تگ اصلي جدول به اين صورت است:
    .

     مابين اين دو، تگ ستون افقي و عمودي قرار مي‌گيرد.










    همانطور كه مي‌بينيد، تگ جدول، چند پارامتر دارد كه

    مشخصات آن را (اندازه، حاشيه، رنگ و ...) مشخص مي‌كند.

    كد:

    مثال عملی2: اسكرول صفحه (حركت صفحه از بالا به پايين)

    شرح عمليات: ساخت اين برنامه، بسيار ساده و راحت است.

    . مواد لازم براي آن، يك حلقه، و يك متد اسكرول صفحه است، كه در يك تابع قرار مي‌دهيم.

    . يك تابع (funDown) براي پايين رفتن، و يك تابع (funUp) براي بالا آمدن.

     اين توابع، به صورت مستقل، اجرا‌ مي‌شوند.

    . در قسمت بدنه، دو دكمه (يا چيزي شبيه آن) قرار مي‌دهيم.

    يكي براي فعال كردن تابع اول، و ديگري براي تابع دوم.

     به هنگام كليك بر روي دكمه‌ها، توابع، اجرا مي‌شوند؛ يعني بايد از رويداد onClick استفاده كنيم.


    آرایه در جاوا اسکریپت


    آرایه در جاوا اسکریپت

    تعريف آرايه :

    آرايه، مجموعه‌اي از چند داده (ثابت و متغير) است كه به عنوان يك واحد شناخته شده و اعضاي آن، با كد، مشخص شده‌اند.

    به عبارت ديگر، تعدادي از اطلاعات كه در كنار هم قرار گرفته‌اند و يك وجه مشترك داشته و به يك نام خوانده مي‌شوند.

    نوشتن آرايه :

    نامگذاري آرايه

    آرايه يك نوع متغير است كه بر خلاف متغيرهاي ديگر در جاوا، بايد از قبل تعريف شود.

    varName = new Array(3);

    var: نشانه متغير
    Name: نامي كه شما براي آرايه، انتخاب مي‌كنيد. مناسب است در اينجا City را به عنوان نام، برگزينيد
    new Array: كلمه كليدي كه بايد به همين صورت، بنويسيد
    (3): طول آرايه، تعداد اعضاي آرايه

    معرفي اعضاء آرايه

    بعد از معرفي و نامگذاري آرايه، بايد اعضايش را معرفي كنيم؛ كه دو روش براي اين كار وجود دارد.

    - روش اول:

    Name[0] = "تهران";
    Name[1] = "اصفهان";
    Name[2] = "شيراز";

    Name: نام آرايه كه مشترك است
    [0]: كد مخصوص به هر عضو

    - روش دوم:

    varName = new Array("تهران","اصفهان","شيراز")

    در اين روش، كد اعضا، به صورت فرضي، از صفر شروع مي‌شود.

    خواندن آرايه

    بعد از نوشتن آرايه، نوبت به خواندن و صدا كردن آن است. در اين مثال مي‌توانيم از دو دستور alert يا document.write استفاده كنيم.

    alert (Name[0])


    توابع در جاوا اسکریپت


    توابع در جاوا اسکریپت

    نام گذاري كدها ( تابع )

     كمتر پيش مي‌آيد كه كدي را بنويسيد و از تابع، استفاده نكنيد.

    تابع يا همان فانِكشين (Function

    مجموعه‌اي از يك يا چند كد است كه در يك جا جمع شده و داراي نام شده‌اند.

    نام گذاري كد :

    براي هر چيزي مي‌شود نامي انتخاب كرد، و به جاي آنكه مدام، كد آنرا تكرار كنيم، نام آنرا صدا مي‌زنيم.

    برای نامگذاري آنها از تابع استفاده مي‌كنيم.

    مثال :

    اگر بخواهيم براي آن، نامي انتخاب كنيم،

     ابتدا كد مورد نظر را داخل يك جفت كرشه { } قرار داده، تا از كدهاي ديگر جدا شود.

     بعد، كلمه function را در اول آن نوشته و بعد،

     نامي كه انتخاب كرده‌ايد را با يك جفت پرانتز ()، بنويسيد. به اين صورت:

    نامي كه من انتخاب كردم funAlert است. fun مخفف function، و Alert نوع كد مرا مشخص مي‌كند. ‌

    آيا مي‌دانيد كدي كه الان درست كرده‌ايم با كد قبلي كه بي‌نام بود، چه فرقي دارد؟

     در عمل يك فرق كوچك، و آنكه اين است كه قبلا به محض باز شدن صفحه،

     اجرا شده و پيام نمايش داده مي شد.

     ولي حالا، تا نام آنرا صدا نزنيم، عمل نمي‌كند.

    فراخوانی تابع :

    • حالا بايد بدانيد چگونه و كجا تابع خود را صدا كنيد.

     يكي از راه‌هاي صدا زدن توابع، استفاده از رويدادهاست.

    اگر مي‌خواهيد فلان كد، به هنگام باز شدن صفحه، اجرا شود، از رويدادonLoad  استفاده كنيد.

     اگر مي‌خواهيد با كليك كردن بر روي چيزي، برنامه‌اي اجرا شود، از onClick استفاده كنيد.

    مثال: مي‌خواهم تابع funAlert، كه در مثال بالا درست كرده‌ام، به هنگام باز شدن صفحه اجرا شود.

     براي اين كار بايد به تگ بدنه (Body = بادي) رفته و اين كد را بنويسم:

    onLoad="funAlert()">

    اگر خواستيد با كليك بر روي عكسي، پيامي نمايش داده شود،

     بايد كد زير را در تگ عكس قرار دهيد. به اين صورت:

    onClick="funAlert()">

    خلاصه:

    براي ساخت و به كارگيري يك تابع، سه كار بايد كرد.

    1- نوشتن كد: كدهايي را كه لازم داريم مي‌نويسيم.

    2- نامگذاري: كدهاي نوشته شده را در يك جا، جمع كرده و نامگذاري مي‌كنيم.

    3- صداكردن ( فراخوانی ): در جاي مناسب، تابع را صدا مي‌كنيم.

    نکات:
    • مي‌شود در يك صفحه، چند تابع جداگانه بسازيم.

    • مي‌شود يك تابع را توسط تابع ديگر، صدا زد.

    اين در زماني است كه دو تابع، در امتداد يكديگر فعاليت مي‌كنند.

    • گاهي، داخل پرانتزي كه بعد از نام تابع قرار مي‌گيرد،

    چيزي نوشته مي‌شود به نامآرگومان كه يك نوع متغير است.

    انواع متغير: متغير محلي و سراسري

    اگر بخواهيم از نظر جنس، به متغير نگاه كنيم، سه نوع مهم دارد : رشته‌اي، عددي، منطقي.

     اما از لحاظ موقعيت و مكان استفاده، يك تقسيم بندي جديد براي متغير است.

    1- متغير سراسري، عمومي ( Global گلوبال)

    اگر متغير را خارج از تابع بنويسيد، عمومي است؛

     چون مي‌شود در سرتاسر برنامه، آنرا صدا زده و مورد استفاده قرار داد.

    2- متغير محلي، خصوصي ( Local لوكال)

    اگر متغيري را داخل تابع تعريف كنيد، خصوصي است .

     يعني فقط در همان محل و همان تابع، كابرد دارد، و بيرون از آن،

     نه مي‌شود صدا زد و نه مي‌شود استفاده كرد.

    خصوصيات متغير محلي و سراسري :

    - از متغير سراسري مي‌شود در توابع مختلف استفاده كرد؛

     اما متغير محلي، فقط در همان تابع، كابرد دارد.

    - محدوده متغير محلي، محدوده تابع آن است، و عمر آن، به اندازه عمر تابعش.

    - مي‌دانيد كه نمي‌شود براي دو متغير، يك نام گذاشت؛

     اما متغير محلي مي‌تواند با متغير سراسري، همنام باشد.

    - اگر اين دو متغير، همنام شدند، تغيير مقدار يكي از آن دو، تاثيري در ديگري ندارد.


    متغیر ها در جاوا اسکریپت


    متغیر ها در جاوا اسکریپت

    انواع متغیر

    « Date، از اشياء از پيش تعريف شده در جاوا است

    كه امكان كار با تاريخ و ساعت را در اختيار برنامه نويس، قرار ميدهد.

     هنگام نياز به ذخيره يك تاريخ و ساعت بخصوص، مي‌توانيد از Date استفاده كنيد.

     به كمك متدهاي اين شي، مي‌توانيد با تاريخ و ساعت ذخيره شده،‌ كار كنيد.

     شي Date، هيچ خصوصيتي ندارد؛ از اين رو، جهت نمايش ي دستيابي به مقادير ذخيره شده در آن،

     لازم است تا از متدهاي آن استفاده كنيد.

     داده‌ها، مواد خام و اصلي برنامه نويس است كه آنها را از راه‌هاي مختلفي به دست مي‌آورد.

     اين اطلاعات، از انواع مختلفي هستند. بعضي حروف و كلمه، و بعضي اعداد و ارقام.

    1- رشته‌اي (String): حروف و كلمه


    2- عددي (Number): اعداد و ارقام (اعداد صحيح و اعشاري)


    3- منطقي (Boolean): بله و خير

    خصوصيات داده‌ها :

    هر كدام از اين انواع، خصوصيات دارند.

     مثلا در اعداد، مي‌توان از علائم رياضي استفاده كرد؛ كه به آن، عمگرهاي رياضي گفته مي‌شود.

    عملگرهاي رياضي
    + جمع 1 + 1
    - تفريق 2 - 1
    * ضرب 2 * 2
    / تقسيم 4 / 2
    % خارج قسمت  
    ++ يك عدد، اضافه مي‌كند 1 ++
    -- يك عدد، كم مي‌كند 10 --

    جدول شماره 5

    خصوصيات رشته :

    براي رشته‌ها يا همان حروف، دستورات و خصوصياتي وجود دارد.

     مثلا مي‌خواهيم بدانيم طول يك رشته چقدر است؛

     يعني چه تعداد حرف، در آن به كار رفته؛ يا فلان حرف يا كلمه، در كجاي اين رشته قرار دارد.

     يعني چندمين حرف اين رشته است.

    خصوصيات رشته

    string.length طول (تعداد) حروف
    string.toLowerCase() تبديل حروف بزرگ به كوچك
    string.toUpperCase() تبديل حروف كوچك به بزرگ
    string.bold() ضخيم (بُلد) كردن حروف
    string.italics() كج (ايتاليك) كردن حروف
    string.fontsize(3) تغيير اندازه
    string.fontcolor("red") تغيير رنگ
    string.big() بزرگ كردن
    string.substring(2,6) انتخاب حروف از حرف 2 تا 6 حرف بعد از اول
    string.substr(2,6) انتخاب حروف از حرف 2 تا 6 حرف بعد از 2
    string.charAt(4) انتخاب يك حرف (حرف چهارم)
    string.replace("a","b") تعويض دو حرف (حرف b باa)
    string.indexOf("c",1) جستجوي حرف مورد نظر، بعد از عدد معيّن
    string.lastIndexOf("c",1) جستجوي حرف مورد نظر، قبل از عدد معيّن

    جدول شماره 6

    تذكر:

    دو دستور indexOf و lastIndexOf، شماره حرف مورد نظر ر مي‌نويسند.


    شمارش آنها از صفر است؛ يعني شماره حرف اول، صفر است، نه يك.


    در صورتي كه كلمه مورد نظر را پيدا نكنند، 1- مي‌نويسند.


    Search Engine Submission - AddMe