الفرق بين المراجعتين لصفحة: «HTML/button»

من موسوعة حسوب
ط استبدال النص - '\[\[تصنيف:(.*)\]\]' ب'{{SUBPAGENAME}}'
إضافة قسم و 7 أمثلة
سطر 4: سطر 4:
مثال عن استخدام العنصر <code><button></code>:
مثال عن استخدام العنصر <code><button></code>:
<syntaxhighlight lang="html">
<syntaxhighlight lang="html">
<button name="button">Click me</button>
<button name="button">اضغط هنا</button>
</syntaxhighlight>
</syntaxhighlight>


== بطاقة العنصر ==
{| class="wikitable" style="width: 100%;"
{| class="wikitable" style="width: 100%;"
|-
|-
سطر 46: سطر 47:
لا يمكن أن تُستعمَل هذه الخاصية إلا في عنصر واحد فقط مرتبط بالنماذج في المستند.
لا يمكن أن تُستعمَل هذه الخاصية إلا في عنصر واحد فقط مرتبط بالنماذج في المستند.


==== مثال ====
مثال عن استخدام الخاصية <code>autofoucs</code> للتركيز التلقائي على هذا الزر عند إكمال المتصفح تحميل الصفحة:<syntaxhighlight lang="html">
مثال عن استخدام الخاصية <code>autofoucs</code> للتركيز التلقائي على هذا الزر عند إكمال المتصفح تحميل الصفحة:<syntaxhighlight lang="html">
<button name="button" autofocus>Click me</button>
<button name="button" autofocus>اضغط هنا</button>
</syntaxhighlight>
</syntaxhighlight>


سطر 54: سطر 54:
تُشير هذه الخاصية المنطقية (Boolean) إلى أنَّ المستخدم لا يستطيع التفاعل مع هذا الزر، وإذا لم تُحدَّد قيمة لهذه الخاصية فسترث قيمتها من العنصر الحاوي لها مثل العنصر <code>[[HTML/fieldset|<fieldset>]]</code>، وإذا لم يكن هنالك عنصرٌ حاوٍ لهذا العنصر له الخاصية <code>disabled</code>، فسيكون الزر مفعّلًا.
تُشير هذه الخاصية المنطقية (Boolean) إلى أنَّ المستخدم لا يستطيع التفاعل مع هذا الزر، وإذا لم تُحدَّد قيمة لهذه الخاصية فسترث قيمتها من العنصر الحاوي لها مثل العنصر <code>[[HTML/fieldset|<fieldset>]]</code>، وإذا لم يكن هنالك عنصرٌ حاوٍ لهذا العنصر له الخاصية <code>disabled</code>، فسيكون الزر مفعّلًا.


==== مثال ====
مثال عن استخدام الخاصية <code>disabled</code> لتعطيل هذا الزر افتراضيًا:<syntaxhighlight lang="html">
مثال عن استخدام الخاصية <code>disabled</code> لتعطيل هذا الزر افتراضيًا:<syntaxhighlight lang="html">
<button name="button" disabled>Cannot click me</button>
<button name="button" disabled>لا يمكنك الضغط هنا</button>
 
</syntaxhighlight>
</syntaxhighlight>


سطر 66: سطر 66:
تسمح لك هذه الخاصية بربط عناصر <code><button></code> إلى عناصر <code>[[HTML/form|<form>]]</code> الموجودة في أي مكان في المستند، لكن لا يجوز أن يرتبط عنصر <code><button></code> موجود ضمن عنصر <code>[[HTML/form|<form>]]</code> إلى عنصر <code>[[HTML/form|<form>]]</code> آخر.
تسمح لك هذه الخاصية بربط عناصر <code><button></code> إلى عناصر <code>[[HTML/form|<form>]]</code> الموجودة في أي مكان في المستند، لكن لا يجوز أن يرتبط عنصر <code><button></code> موجود ضمن عنصر <code>[[HTML/form|<form>]]</code> إلى عنصر <code>[[HTML/form|<form>]]</code> آخر.


==== مثال ====
مثال عن استخدام الخاصية <code>form</code> لتحديد أنَّ هذا الزر ينتمي إلى النموذج ذي المُعرِّف <code>form1</code>:<syntaxhighlight lang="html">
مثال عن استخدام الخاصية <code>form</code> لتحديد أنَّ هذا الزر ينتمي إلى النموذج ذي المُعرِّف <code>form1</code>:<syntaxhighlight lang="html">
<form action="action_page.php" method="get" id="form1">
<form action="action_page.php" method="get" id="form1">
   First name: <input type="text" name="fname">
   الاسم: <input type="text" name="name">
</form>
</form>
 
<button type="submit" form="form1">إرسال</button>
<button type="submit" form="form1">Submit</button>
</syntaxhighlight>
</syntaxhighlight>


سطر 80: سطر 78:
إذا حُدِّدَت قيمة لهذه الخاصية فستتجاوز القيمة الموجودة في الخاصية <code>action</code> للنموذج الذي يتبع هذا الزر له.
إذا حُدِّدَت قيمة لهذه الخاصية فستتجاوز القيمة الموجودة في الخاصية <code>action</code> للنموذج الذي يتبع هذا الزر له.


==== مثال ====
مثال عن استخدام الخاصية <code>fromaction</code> لتغيير الصفحة التي ستعالج بيانات هذا النموذج، مع استخدام الخاصية <code>[[#form|form]]</code> كمّا بيّنا سابقًا:<syntaxhighlight lang="html">
مثال عن استخدام الخاصية <code>fromaction</code> لتغيير الصفحة التي ستعالج بيانات هذا النموذج، مع استخدام الخاصية <code>[[#form|form]]</code> كمّا بيّنا سابقًا:<syntaxhighlight lang="html">
<form action="action_page.php" method="get" id="form1">
<form action="action_page.php" method="get" id="form1">
   First name: <input type="text" name="fname">
   الاسم: <input type="text" name="name">
</form>
</form>


<button type="submit" form="form1">Submit</button>
<button type="submit" form="form1">إرسال</button>
<button type="submit" form="form1" formaction="action_page2.php">Submit to page2</button>
<button type="submit" form="form1" formaction="action_page2.php">الإرسال إلى الصفحة الثانية</button>
</syntaxhighlight>
</syntaxhighlight>


سطر 103: سطر 100:
إذا حُدِّدَت هذه الخاصية فستتجاوز القيمة الموجودة في الخاصية <code>method</code> للنموذج الذي يتبع له هذا الرز.
إذا حُدِّدَت هذه الخاصية فستتجاوز القيمة الموجودة في الخاصية <code>method</code> للنموذج الذي يتبع له هذا الرز.


==== مثال ====
مثال عن استخدام الخاصية <code>formmethod</code> لتغيير الطريقة التي ستُرسَل بها بيانات هذا النموذج، مع استخدام الخاصية <code>[[#form|form]]</code> والخاصية <code>[[#formaction|formaction]]</code> كمّا بيّنا سابقًا:<syntaxhighlight lang="html">
مثال عن استخدام الخاصية <code>formmethod</code> لتغيير الطريقة التي ستُرسَل بها بيانات هذا النموذج، مع استخدام الخاصية <code>[[#form|form]]</code> والخاصية <code>[[#formaction|formaction]]</code> كمّا بيّنا سابقًا:<syntaxhighlight lang="html">
<form action="action_page.php" method="get" id="form1">
<form action="action_page.php" method="get" id="form1">
   First name: <input type="text" name="fname">
   الاسم: <input type="text" name="name">
</form>
</form>


<button type="submit" form="form1">Submit</button>
<button type="submit" form="form1">إرسال</button>
<button type="submit" form="form1" formaction="action_page2.php" formmethod="post">Submit to page2 using POST</button>
<button type="submit" form="form1" formaction="action_page2.php" formmethod="post">الإرسال إلى الصفحة الثانية باستخدام POST</button>
</syntaxhighlight>
</syntaxhighlight>


سطر 116: سطر 112:
إذا كان الزر هو زر إرسال، فهذه القيمة المنطقية تقول أنَّ على المتصفح عدم التحقق من صحة الحقول في النموذج. وإذا حُدِّدَت قيمة لهذه الخاصية فستتجاوز القيمة الموجودة في الخاصية <code>novalidate</code> للنموذج الذي يتبع هذا الزر له.
إذا كان الزر هو زر إرسال، فهذه القيمة المنطقية تقول أنَّ على المتصفح عدم التحقق من صحة الحقول في النموذج. وإذا حُدِّدَت قيمة لهذه الخاصية فستتجاوز القيمة الموجودة في الخاصية <code>novalidate</code> للنموذج الذي يتبع هذا الزر له.


==== مثال ====
مثال عن استخدام الخاصية <code>formnovalidate</code> كي لا يتحقق المتصفح من بيانات هذا النموذج، مع استخدام الخاصية <code>[[#form|form]]</code> كمّا بيّنا سابقًا:<syntaxhighlight lang="html">
مثال عن استخدام الخاصية <code>formnovalidate</code> كي لا يتحقق المتصفح من بيانات هذا النموذج، مع استخدام الخاصية <code>[[#form|form]]</code> كمّا بيّنا سابقًا:<syntaxhighlight lang="html">
<form action="action_page.php" method="get" id="form1">
<form action="action_page.php" method="get" id="form1">
   First name: <input type="text" name="fname">
   الاسم: <input type="text" name="name" required>
</form>
</form>


<button type="submit" form="form1">Submit</button>
<button type="submit" form="form1">إرسال</button>
<button type="submit" form="form1" formnovalidate>Submit without validation</button>
<button type="submit" form="form1" formnovalidate>الإرسال دون تحقق</button>
</syntaxhighlight>
</syntaxhighlight>


سطر 149: سطر 144:


== ملاحظات ==
== ملاحظات ==
إنَّ تنسيق عناصر <code><button></code> أسهل بكثير من تنسيق عناصر <code>[[HTML/input|<input>]]</code>، إذ تستطيع إضافة محتوى HTML داخلها مثل <code>[[HTML/em|<nowiki><em></nowiki>]]</code> و <code>[[HTML/strong|<nowiki><strong></nowiki>]]</code> وحتى العنصر <code>[[HTML/img|<img>]]</code>، ويمكنك استخدام العناصر الوهمية <code>‎:after</code> و ‎<code>:before</code> لكي تعرض العنصر كما تشاء، بينما عناصر <code>[[HTML/input|<input>]]</code> لا تقبل إلا القيم النصية.
إنَّ تنسيق عناصر <code><button></code> أسهل بكثير من تنسيق عناصر <code>[[HTML/input|<input>]]</code>، إذ تستطيع إضافة محتوى HTML داخلها مثل <code>[[HTML/em|<nowiki><em></nowiki>]]</code> و <code>[[HTML/strong|<nowiki><strong></nowiki>]]</code> وحتى العنصر <code>[[HTML/img|<img>]]</code>، ويمكنك استخدام العناصر الزائفة <code>[[ٍCSS/::after|::after]]</code> و [[CSS/::before|‎<code>::before</code>]] لكي تعرض العنصر كما تشاء، بينما عناصر <code>[[HTML/input|<input>]]</code> لا تقبل إلا القيم النصية.


==مصادر ومواصفات==
==مصادر ومواصفات==

مراجعة 08:19، 24 فبراير 2018

يُمثِّل العنصر <button> زرًا قابلًا للضغط.

مثال عن استخدام العنصر <button>:

<button name="button">اضغط هنا</button>

بطاقة العنصر

تصنيفات المحتوى عنصر تنظيمي وعنصر عادي، وعنصر تفاعلي ...
المحتوى المسموح المحتوى العادي.
الوسم المختصر لا يمكن حذف أيّ من وسمَي البداية أو النهاية.
العناصر الأب أي عنصر يقبل المحتوى العادي.
واجهة DOM HTMLButtonElement

دعم المتصفحات

Chrome Firefox Edge Safari Opera
مدعوم مدعوم مدعوم مدعوم مدعوم

الخاصيات

يمكن استخدام الخاصيات العامة في هذا العنصر.

autofoucs

تسمح لنا هذه الخاصية المنطقية (Boolean) بتحدد أنَّنا نريد أن ينتقل التركيز (focus) إلى هذا الزر عند تحميل الصفحة ما لم يغيّره المستخدم (مثل الكتابة في عنصر إدخال مختلف).

لا يمكن أن تُستعمَل هذه الخاصية إلا في عنصر واحد فقط مرتبط بالنماذج في المستند.

مثال عن استخدام الخاصية autofoucs للتركيز التلقائي على هذا الزر عند إكمال المتصفح تحميل الصفحة:

<button name="button" autofocus>اضغط هنا</button>

disabled

تُشير هذه الخاصية المنطقية (Boolean) إلى أنَّ المستخدم لا يستطيع التفاعل مع هذا الزر، وإذا لم تُحدَّد قيمة لهذه الخاصية فسترث قيمتها من العنصر الحاوي لها مثل العنصر <fieldset>، وإذا لم يكن هنالك عنصرٌ حاوٍ لهذا العنصر له الخاصية disabled، فسيكون الزر مفعّلًا.

مثال عن استخدام الخاصية disabled لتعطيل هذا الزر افتراضيًا:

<button name="button" disabled>لا يمكنك الضغط هنا</button>

form

تُحدِّد هذه الخاصية ما هو النموذج الذي ينتمي هذا الزر إليه، ويجب أن تكون قيمة هذه الخاصية هي مُعرِّف id لعنصر <form> في المستند نفسه.

إن لم تُحدَّد قيمة هذه الخاصية فسيرتبط الزر مع عنصر <form> الأب له إن وجد.

تسمح لك هذه الخاصية بربط عناصر <button> إلى عناصر <form> الموجودة في أي مكان في المستند، لكن لا يجوز أن يرتبط عنصر <button> موجود ضمن عنصر <form> إلى عنصر <form> آخر.

مثال عن استخدام الخاصية form لتحديد أنَّ هذا الزر ينتمي إلى النموذج ذي المُعرِّف form1:

<form action="action_page.php" method="get" id="form1">
  الاسم: <input type="text" name="name">
</form>
<button type="submit" form="form1">إرسال</button>

fromaction

رابط URI للبرنامج الذي يُعالِج المعلومات المُرسَلة عبر هذا الزر.

إذا حُدِّدَت قيمة لهذه الخاصية فستتجاوز القيمة الموجودة في الخاصية action للنموذج الذي يتبع هذا الزر له.

مثال عن استخدام الخاصية fromaction لتغيير الصفحة التي ستعالج بيانات هذا النموذج، مع استخدام الخاصية form كمّا بيّنا سابقًا:

<form action="action_page.php" method="get" id="form1">
  الاسم: <input type="text" name="name">
</form>

<button type="submit" form="form1">إرسال</button>
<button type="submit" form="form1" formaction="action_page2.php">الإرسال إلى الصفحة الثانية</button>

formenctype

إذا كان هذا الزر هو زر الإرسال (submit button) فستُحدِّد هذه الخاصية ما هو نوع المحتوى التي سيُستخدَم لإرسال بيانات النموذج إلى الخادوم. القيم الممكنة هي:

  • application/x-www-form-urlencoded: القيمة الافتراضية إن لم تُحدَّد قيمة لهذه الخاصية.
  • multipart/form-data: استخدم هذه القيمة إن كنتَ تستعمل العنصر <input> في النموذج وضبطتَ الخاصية type إلى file.
  • text/plain.

إذا حُدِّدَت قيمة لهذه الخاصية فستتجاوز القيمة الموجودة في الخاصية enctype للنموذج الذي يتبع هذا الزر له.

formmethod

إذا كان هذا الزر هو زر الإرسال (submit button) فستُحدِّد هذه الخاصية ما هي طريقة الإرسال عبر HTTP (أي HTTP method) التي يجب أن يستعملها المتصفح لإرسال النموذج. القيم الممكنة هي:

  • post: إرسال بيانات النموذج ضمن جسم طلبية HTTP.
  • get: إسناد بيانات النموذج إلى رابط URI للهدف، مع استعمال الرمز ? لفصل اسم الصفحة عن البيانات، ثم إرسال رابط URI الناتج إلى الخادوم. استخدم هذه الطريقة إن لم تكن هنالك تأثيرات جانبية لنموذجك وكان يحتوي على محارف ASCII فقط.

إذا حُدِّدَت هذه الخاصية فستتجاوز القيمة الموجودة في الخاصية method للنموذج الذي يتبع له هذا الرز.

مثال عن استخدام الخاصية formmethod لتغيير الطريقة التي ستُرسَل بها بيانات هذا النموذج، مع استخدام الخاصية form والخاصية formaction كمّا بيّنا سابقًا:

<form action="action_page.php" method="get" id="form1">
  الاسم: <input type="text" name="name">
</form>

<button type="submit" form="form1">إرسال</button>
<button type="submit" form="form1" formaction="action_page2.php" formmethod="post">الإرسال إلى الصفحة الثانية باستخدام POST</button>

formnovalidate

إذا كان الزر هو زر إرسال، فهذه القيمة المنطقية تقول أنَّ على المتصفح عدم التحقق من صحة الحقول في النموذج. وإذا حُدِّدَت قيمة لهذه الخاصية فستتجاوز القيمة الموجودة في الخاصية novalidate للنموذج الذي يتبع هذا الزر له.

مثال عن استخدام الخاصية formnovalidate كي لا يتحقق المتصفح من بيانات هذا النموذج، مع استخدام الخاصية form كمّا بيّنا سابقًا:

<form action="action_page.php" method="get" id="form1">
  الاسم: <input type="text" name="name" required>
</form>

<button type="submit" form="form1">إرسال</button>
<button type="submit" form="form1" formnovalidate>الإرسال دون تحقق</button>

formtarget

إذا كان الزر هو زر إرسال، فهذه الخاصية تأخذ كلمةً محجوزةً تشير إلى المكان الافتراضي لعرض الناتج عندما تُسبِّب الروابط أو عناصر النماذج بالانتقال إلى صفحةٍ أخرى وذلك إذا لم تُحدِّد تلك العناصر قيمةً خاصةً لهذه الخاصية. إذا حُدِّدَت قيمة لهذه الخاصية فستتجاوز القيمة الموجودة في الخاصية target للنموذج الذي يتبع هذا الزر له.

الكلمات المحجوزة التالية لها معانٍ خاصة:

  • ‎__self: عرض النتيجة مكان الصفحة الحالية. هذه هي القيمة الافتراضية إذا لم تُحدَّد قيمةٌ أخرى.
  • __blank: عرض الصفحة في نافذة جديدة.
  • __parent: ستعرض الصفحة مكان الصفحة الأب التي ينتمي إليها iframe، وإذا لم تكن هنالك صفحة أب فستسلك هذه القيمة سلوك القيمة ‎__selfنفسه.
  • ‎__top: عرض الصفحة مكان أعلى صفحة في الهيكلية (أي الصفحة التي تكون من الآباء المباشرين أو غير المباشرين للصفحة الحالية وليس لها صفحة أب). إذا لم تكن هنالك صفحة أب فستسلك هذه القيمة سلوك القيمة ‎__self نفسه.

name

اسم الزر، والذي سيُرسَل مع بيانات النموذج.

type

نوع الزر، وتأخذ هذه الخاصية إحدى القيم الآتية:

  • submit: سيؤدي الضغط على هذا الزر إلى إرسال بيانات النموذج إلى الخادوم، وهذه هي القيمة الافتراضية إن لم تُحدَّد قيمةٌ أخرى، أو إذ غُيّرَت القيمة ديناميكيًا إلى قيمة فارغة أو غير صالحة.
  • reset: سيؤدي الضغط على هذا الزر إلى إعادة ضبط جميع عناصر النموذج إلى قيمها الابتدائية.
  • button: لن يكون لهذا الزر سلوكٌ افتراضي، وإنما قد ترتبط به شيفرات برمجية تُنفَّذ عند وقوع حدث الضغط.
  • menu: هذا الزر سيفتح قائمة منبثقة مُعرَّفة عبر عنصر <menu>.

value

القيمة الابتدائية للزر، وهي تُعرِّف القيمة التي سترتبط بالزر عند إرسال بيانات النموذج، التي ستُمرَّر إلى الخادوم.

ملاحظات

إنَّ تنسيق عناصر <button> أسهل بكثير من تنسيق عناصر <input>، إذ تستطيع إضافة محتوى HTML داخلها مثل <em> و <strong> وحتى العنصر <img>، ويمكنك استخدام العناصر الزائفة ‎::after و ::before لكي تعرض العنصر كما تشاء، بينما عناصر <input> لا تقبل إلا القيم النصية.

مصادر ومواصفات