لا يعمل إرسال نموذج على عنصر تحكم المستخدم بالضغط على زر الإدخال في حقل النص

StackOverflow https://stackoverflow.com/questions/161531

  •  03-07-2019
  •  | 
  •  

سؤال

يبدو أن هذه مشكلة شائعة ولكن لا يمكنني العثور على حل لها.

أكتب اسم المستخدم وكلمة المرور الخاصين بي الموجودين في عنصر تحكم تسجيل الدخول الذي قمت بإنشائه.ثم أضغط على زر الإدخال بمجرد كتابة كلمة المرور الخاصة بي ويتم تحديث الصفحة فقط.يقوم بتشغيل حدث تحميل الصفحة ولكن ليس الزر عند حدث النقر.

إذا ضغطت على زر الإرسال فكل شيء يعمل بشكل جيد.

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

المحلول

وباستخدام النماذج الزر الافتراضي هو الصحيح، ولكن تحتاج إلى تزويدها هوية الصحيح كما سيتم تقديم لHTML.

وهكذا تفعل كما قال جون أعلاه:

<form runat="server" DefaultButton="SubmitButton">

ولكن تأكد من استخدام اسم زر التي سيتم تقديمها. يمكنك تحقيق ذلك بلدي جعل الجمهور زر في جهاز التحكم عن، أو الأسلوب الذي سيعود انها ClientId.

ودعونا نقول يسمى الزر الخاص بك btnSubmit، وتنفيذ بك من ucLogin التحكم الخاصة بك.

وتعطي النموذج الخاص بك على معرف

<form runat="server" id="form1">

وبعد ذلك في تحميل الصفحة الخاصة بك في التعليمات البرمجية وراء صفحتك، تعيين DefaultButton التي كتبها تسليمه هوية العميل الزر الخاص بك.

protected void Page_Load(object sender, EventArgs e)
{
   form1.DefaultButton = ucLogin.btnSubmit.ClientID;
}

نصائح أخرى

إذا كنت تستخدم ASP.NET 2.0 أو أعلى، يمكنك تعيين سمة الزر الافتراضي لنموذج صفحتك:

<form runat="server" DefaultButton="SubmitButton">

يتم تنفيذ الضغط على ENTER عند إدخال النص نموذج.إرسال, ، لا زر. عند النقر.

أفترض أن هذا مستوحى من حقيقة أنه يمكنك الحصول على نموذج بدون زر إرسال فعلي (يعتمد فقط على استخدام ENTER).

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