اذهب إلى المحتوى

السؤال

Recommended Posts

  • 0
نشر

وعليكم السلام.

بداية في حال كان سؤالك متعلقا بإحدى دروس الدورة التي قمت بالاشتراك فيها فأرجو طرح أسئلتك هناك أسفل الدرس فهنا نجيب فقط على الأسئلة العامة، على العموم فلو أخذنا فرضا أنك تقصد العمل ب Vue Js  فلتفعيل النموذج عند حدث submit في <form> يمكننا استخدام التوجيه كالتالي:

@submit.prevent="methodName"

حيث يقوم @submit بالاستماع إلى الحدث و.prevent تمنع إعادة تحميل الصفحة الافتراضية عند الإرسال وأما methodName هو اسم الدالة التي تنفّذ عند الإرسال لماذا ذلك؟

لأنه في إطار Vue.js تعد إدارة النماذج سهلة وفعالة بفضل نظام التوجيه (directives) وعند التعامل مع نموذج، مثل تسجيل الدخول أو إنشاء حساب ستحتاج إلى التقاط الحدث الذي يحدث عند الضغط على زر "إرسال".

وللقيام بذلك نستخدم عنصر <form> ونربطه بحدث submit عبر التوجيه @submit وتفاديا السلوك الافتراضي الذي يتمثل في إعادة تحميل الصفحة نضيف .prevent، فيصبح @submit.prevent. داخل هذا النموذج ويرتبط كل حقل ب v-model ليتم ربط بيانات النموذج بحالة (state) المكون ثم تعرّف دالة في قسم methods للتعامل مع البيانات عند إرسال النموذج كالتالي:

بمجرد أن يضغط المستخدم على زر "Send"، يتم تنفيذ دالة handleSubmit دون إعادة تحميل الصفحة. تُستخدم هذه الطريقة بشكل واسع في التعامل مع النماذج، خاصة عند إرسال بيانات إلى API أو التحقق من صحة المدخلات. استخدام v-model يجعل البيانات متزامنة بين الواجهة والنموذج، مما يسهل إدارتها. كما يمكن توسيع هذه التقنية لتشمل التحقق من المدخلات، أو إظهار رسائل خطأ، أو إرسال البيانات إلى الخادم باستخدام مكتبات مثل Axios. خلاصة القول، Vue.js توفر أدوات بسيطة وفعالة لتفعيل النماذج والاستجابة لحدث الإرسال بطريقة منظمة وتفاعلية.

<template>
  <form @submit.prevent="handleSubmit">
    <input v-model="name" type="text" placeholder="Your name" />
    <button type="submit">Send</button>
  </form>
</template>

<script>
export default {
  data() {
    return {
      name: ""
    };
  },
  methods: {
    handleSubmit() {
      alert(`Hello, ${this.name}`);
    }
  }
};
</script>

فهنا بمجرد أن يضغط المستخدم على زر "Send" سيتم تنفيذ دالة handleSubmit دون إعادة تحميل الصفحة. 

وفي حال كنت تعمل على شيء آخر أرجو التوضيح لمساعدتك بشكل دقيق.

  • 0
نشر

ليس vue 

بل في form action اضفت ايميل الخاص بي من اجل عندما يرسل مستخدم رسالة توصل في الايميل الخاص بي 

لكن المشكلة هي عند ارسال البيانات يقول لي المتصفح يرجى تفعيل نموذج الخاص بموقع formsubmit د

كيف يمكن تفعيله

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...