فرمها و control elementها مثل <input> دارای prperty و eventهای ویژهای هستند.
وقتی فرمها را یاد بگیریم، کار کردن با آنها بسیار راحتتر میشود.
Navigation: form and elements
فرمهای document از اعضای مجموعهی ویژهی document.forms هستند.
این به اصطلاح یک مجموعهی نامگذاری شده است: هم نامگذاری شده و هم ترتیبدار شده است. برای دسترسی به فرم میتوانیم هم از نام آن و هم از شمارهی آن در document استفاده کنیم.
وقتی یک فرم داریم، در این صورت هر elementای در مجموعهی نامگذاری شده با form.elements قابل دسترسی است.
برای مثال:
ممکن است elementهای زیادی با نام یکسان وجود داشته باشند. این در مورد radio buttonها و checkboxها معمول است.
در آن صورت، form.elements[name] یک مجموعهاست. برای مثال:
این navigation propertyها به tag structure وابستگی ندارند. تمام control elementها، فرقی ندارد چقدر در فرم عمیق باشند، در form.elements قابل دسترسی هستند.
.را درون خود فهرست میکنند form controls دارند که elements property در خودش داشته باشد. آنها همچنین <fieldset> elements یک فرم ممکن است یک یا چند
For instance:
.دسترسی داشته باشیم element به form[index/name] کوتاهتر هم وجود دارد: ما میتوانیم با notation یک
به عبارت دیگر، به جای form.elements.login میتوانیم بنویسیم form.login.
آن هم کار میکند، ولی یک مشکل جزئی وجود دارد: اگر به یک element دسترسی داشته باشیم، و بعد name آن را تغییر بدهیم، آنگاه آن هنوز با نام قدیمی قابل دسترسی است (همچنین با نام جدید)
آسانتر است که آن را در یک مثال ببینیم:
با این حال، این معمولا یک مشکل نیست، چون ما به ندرت نام elementهای فرم را تغییر میدهیم.
Backreference: element.form
برای هر elementای، فرم به عنوان element.form قابل دسترسی است. بنابراین یک فرم به همهی elementها ارجاع میدهد و elementها هم به فرم ارجاع میدهند.
این هم تصویرش است:
برای مثال:
Form elements
.صحبت کنیم form controls بیایید دربارهی
input and textarea
.به مقدار آنها دسترسی داشته باشیم radio buttons و checkboxes برای input.value (string) یا input.checked (boolean) ما میتوانیم با
مثل این:
.به آن دسترسی داشته باشیم textarea.innerHTML تو در تو حفظ میکند اما ما هرگز نباید از طریق HTML مقدار خود را به عنوان <textarea>...</textarea> لطفا توجه کنید که با اینکه
.که در ابتدا در صفحه بوده را ذخیره میکند، نه مقدار فعلی را HTML آن فقط
select و option
:مهم دارد property سه <select> element یک
- select.options – <option> subelements مجموعهای از
- select.value – در حال حاضر انتخاب شده <option> مقدار
- select.selectedIndex – در حال حاضر انتخاب شده <option> تعداد
:عرضه میکنند <select> کردن یک مقدار برای set آنها سه راه مختلف برای
- .قرار میدهد true آن را برابر option.selected و مقدار (برای مثال select.options) متناظر را پیدا میکند <option> عنصر
- .را برابر آن مقدار جدید قرار میدهد select.value اگر یک مقدار جدید را بدانیم:
- .را برابر آن عدد قرار میدهد select.selectedIndex جدید را بدانیم: مقدار option number اگر
:اینجا مثالی از هر سه متد میبینیم
.به ندرت استفاده میشود attribute به طور همزمان انتخاب شوند. با این حال، این option داشته باشد، اجازه میدهد که چند attribute چند <select> های دیگر اگرcontrol برعکس بیشتر
.حذف/به آن اضافه کنید <option> subelements را از selected property برای چندین مقدار انتخاب شده، از روش اول برای تنظیم مقادیر استفاده کنید
:مقدار انتخابشده را به دست آوریم ،multi-select اینجا یک مثال داریم از اینکه چگونه از یک
.موجود است https://html.spec.whatwg.org/multipage/forms.html#the-select-element در مشخصات <select> element مشخصات کامل
جدید Option
:وجود دارد ` element کوتاه و زیبا برای ایجاد یک syntax یک مشخصات در
:را به صورت دستی مقداردهی کنیم. با این حال، ممکن است کوتاهتر باشد پس اینجا پارامترها وجود دارند attributes استقاده کنیم و document.createElement('option') اختیاری است، ما میتوانیم از syntax این
- text – option متن درون,
- value – option مقدار,
- defaultSelected – ایجاد میشود selected HTML-attribute باشد true اگر
- selected – انتخاب میشود option باشد true اگر
.انتخاب شده است یا نه option مشخص میکند که آیا selected در حالی که (آن را بگیریم option.getAttribute('selected') که ما میتوانیم با) میکند set را HTML-attribute مقدار defaultSelected در این است که selected و defaultSelected تفاوت بین
(false یا به سادگی حذف شوند، مقدار پیشفرض هر دو) .باشند false یا true در عمل باید معمولا هر دو مقدار
برای مثال، اینجا بک “unselected” option داریم:
شده select اما option همان
:دارند property یک سری Option elements
option.selected انتخاب شده است یا نه optionoption.index خودش <select> در بین بقیه option عدد :
option.text (توسط بازدیدکننده دیده میشود) option محتوای متنی :
منابع
خلاصه
Form navigation:
document.forms .قابل دسترسی است document.forms[name/index] یک فرم با :
form.elements
.کار میکنند <fieldset> همچنین با elements property استفاده کرد. form[name/index] قابل دسترسی هستند، یا فقط میتوان از form.elements[name/index] با Form elements عناصر :
element.form .به فرم خود ارجاع میدهند form property عناصر در :
(.استفاده کنید که مشخص میکند یک مقدار انتخاب شده است یا نه input.checked از radio buttons و checkboxes برای) و … قابل دسترسی است. input.value، textarea.value، select.value با value مقدار
.به دست آورد options collection select.options یا از طریق select.selectedIndex همچنین میتوان مقدار را با اندیس <select> برای
اینها مبانی شروع کار با فرمها هستند. ما مثالهای بیشتری را در آموزش خواهیم دید.
.را پوشش خواهیم داد که ممکن است در هر عنصری اتفاق بیفتند، اما بیشتر در فرمها مدیریت میشوند blur و focus در فصل بعدی ما
نظرات