سؤال

هنا يقول أنه مطلوب

http://www.w3schools.com/tags/att_form_action.asp

لكنني أرى أنه يتم إرسال النماذج حتى لو لم أحدد سمة إجراء، ويتم إرسال النموذج إلى الصفحة الحالية وهو ما أريده بالضبط.

هل كانت مفيدة؟

المحلول

الشرط هو فقط من قبل المعايير.من الممكن تمامًا أن تفعل ما تريد على الصفحة ولا تتبع المعايير.قد لا تظهر الأشياء أو تعمل بشكل صحيح إذا قمت بذلك، ولكن من المحتمل أن تفعل ذلك.الهدف هو متابعتهم، والفكرة هي أنك إذا تابعتهم، ستفعل صفحتك ذلك دائماً عمل؛لا داعي للقلق بشأن أي شيء.

نعم النموذج هو مطلوب للحصول على سمة الإجراء في HTML4.إذا لم يتم تعيينه، فمن المحتمل أن يستخدم المتصفح نفس الطريقة التي يتم بها توفير سلسلة فارغة له.يجب عليك حقا تعيين action="" وهو HTML4 صالح تمامًا، ويتبع المعايير، ويحقق نفس النتيجة بالضبط.

في HTML5، يمكنك بالفعل تحديد إجراء على زر الإرسال نفسه.إذا لم يكن هناك واحد، فإنه يستخدم إجراء النموذج وإذا لم يتم تعيينه، فسيتم تعيينه افتراضيًا على السلسلة الفارغة (لاحظ أنه لا يمكنك تعيين الإجراء بشكل صريح على سلسلة فارغة في HTML5).

نصائح أخرى

يبدو الأمر كذلك تتطلب مواصفات HTML4 ذلك.أظن أن بعض المتصفحات تفعل ما تريد "لتسهيل الأمور".رغم ذلك لا أنصح بالاعتماد عليه.نظرًا لأنك تمارس سلوكًا غير محدد، فقد يقرر المتصفح بشكل معقول عدم القيام بأي شيء عند إرسال النموذج بدون action.

يمكنك الحصول على السلوك الذي تريده أثناء اتباع المواصفات عن طريق ترك الإجراء فارغًا (نظرًا لأنه نسبي، فإن الفراغ يعني الصفحة الحالية):

<form action="" ...>

كما ذكر bazmegakapa، فإن مواصفات HTML5 لا يبدو أنه يتطلب action يصف:

سمات محتوى الإجراء والشكل، إذا تم تحديدها, ، يجب أن تحتوي على قيمة تمثل عنوان URL صالحًا وغير فارغ ومن المحتمل أن يكون محاطًا بمسافات.[تم إضافة التأكيد]

ومن المثير للاهتمام أن هذا يعني في HTML5، <form action=""> غير صالح، ولكن ليس من الواضح ما إذا كان النموذج بدون إجراء مطلوبًا للعمل (إرساله إلى الصفحة الحالية).

من الناحية الفنية ، يعد هذا انتهاكًا لمواصفات HTML 4 ، ولكن جميع المتصفحات ستعيد إرسال الرد إلى منشئ الاستجابة إذا لم يتم تحديد أي إجراء.أوافق على أنها ليست فكرة ذكية الاعتماد عليها ولكنها تعمل.

تعديل: كما أوضح لي أنه تم وضع علامة HTML 5: على هذا السؤال في HTML 5 يسردون سمة الإجراء على أنها لم تعد مطلوبة: http://www.w3schools.com/html5 / att_form_action.asp والذي يتوافق مع مواصفات HTML 5.

// تنبيه إحياء الخيط

لتمديد إجابة animuson ...

إذا تم تقييم سمات رمز علامة الترميز العام للزر والنموذج ، إذا كان "الإجراء" لا يزال يقيم على أنه "سلسلة فارغة" ، فحينئذٍ من قسم مواصفات HTML5.2 4.10.21.3 نقطة 8 حالات:

إذا كان الإجراء عبارة عن سلسلة فارغة ، فلنجعل الإجراء هو عنوان URL للمستند الخاص بـ وثيقة النموذج.

عندما يتعلق الأمر بتقديم النموذج ، فهذا ما تريده.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top