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

حل مشكلة تحديث الصحفة في django؟

Abdulazeez Altamimi

السؤال

لدي صفحة بها forms فيها input واحد فقط منشره في جدول تستقبل بيانات لاجراء حساب عليها

لكن واجهتني مشكلة مزعجة و هي تحديث الصفحة عن ادخال البيانات و صعودها الى الاعلى 

لذلك اريد ان امنع تحديث الصفحة لكي تصبح اسرع في اخراج الناتج

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0
بتاريخ 7 ساعات قال Abdulazeez Altamimi:

مرحبا , انا جديد هنا شكرا لكم على هذا الموقع الجميل ... اتمنى ان اجد حل لمشكلتي

لدي صفحة بها forms فيها input واحد فقط منشره في جدول تستقبل بيانات لاجراء حساب عليها

لكن واجهتني مشكلة مزعجة و هي تحديث الصفحة عن ادخال البيانات و صعودها الى الاعلى 

لذلك اريد ان امنع تحديث الصفحة لكي تصبح اسرع في اخراج الناتج

 

انا استخدمت Ajax لكن لا يعطيني الناتج يبقى الناتج مثل ما هو

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 10 دقائق مضت قال Abdulazeez Altamimi:

انا استخدمت Ajax لكن لا يعطيني الناتج يبقى الناتج مثل ما هو

أرجو إرفاق الشيفرات البرمجية التي ترتبط بالمشكلة لنستطيع إرشادك للحل

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 22 دقائق مضت قال Wael Aljamal:

أرجو إرفاق الشيفرات البرمجية التي ترتبط بالمشكلة لنستطيع إرشادك للحل

هذا جزء من الشيفرة لانها طويلة

في html وضعتها على شكل جدول ... الادخال و يقابله الحل

<tr>
        <td></td>
        <td>1/2" Drywall Ceiling
        </td>
        <td style="color: rgb(42, 178, 246);">
          <form id="myForm13" method="post">
            {% csrf_token %}
            <input id="Drywall_Ceiling" style="width: 89px;" type="number" step="0.0001" class="form-control"
              name="Drywall Ceiling" value="{{Drywall_Ceiling_input_value}}">
          	<input type='subnit' value='submit'>
          </form>
        </td>
        <td>kPa</td>
        <td style="color: rgb(247, 10, 10)">{{Drywall_Ceiling1}}</td> 
        <td>PSF</td>
</tr>


<script src="https://code.jquery.com/jquery-3.5.1.js"
		integrity="sha256-QWo7LDvxbWT2tbbQ97B53yJnYU3WhH/C8ycbRAkjPDc="
			crossorigin="anonymous"></script>

<script type="text/javascript">
	$(document).on('submit','#myForm13',function(e){
		e.preventDefault();
		$.ajax({
			type:'POST',
			url:'{% url "tab1" %}',
			data:
			{
				Drywall_Ceiling:$("#Drywall_Ceiling").val(),
				csrfmiddlewaretoken:$('input[name=csrfmiddlewaretoken]').val()
			},
			success:function(){
				
					}
			})
		});
	</script>

 في views.py

def tab_1(request):  
    Drywall_Ceiling = request.POST.get('Drywall Ceiling')

      try:
              Drywall_Ceiling1 = float(Drywall_Ceiling) * 20.9
              pk.Drywall_Ceiling_input = float(Drywall_Ceiling)
              pk.date_time = date
              pk.save()
          except TypeError:
              Drywall_Ceiling1 = pk.Drywall_Ceiling_input * 20.9
          except ValueError:
              Drywall_Ceiling1 = pk.Drywall_Ceiling_input * 20.9

      context = {
       'Drywall_Ceiling1': round(Drywall_Ceiling1, 2),
      }

      return render(request, 'db_math/tab1.html', context)

في ملف urls.py

path('dead-load/', views.tab_1, name='tab1'),

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 33 دقائق مضت قال Wael Aljamal:

.get('Drywall Ceiling')

اخي الكريم هل هو يعتمد على id ام name في الوسم input

انا قمت بطباعة المتغير Drywall_Ceiling

وهو يطبع ما قمت بأدخاله و طبعت المعادلة فهو يقوم بحل المعادلة لكن في context لا يظهر لي الناتج 

حتى اقوم بتحديث الصفحة

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 3 دقائق مضت قال Abdulazeez Altamimi:

حتى اقوم بتحديث الصفحة

بعد إرسال طلب AJAX من المتصفح، يتوجب انتظار الرد من الخادم في دالة success حيث تستقبل الرد وتعدل الصفحة بدون تحديثها.

لنفرض لديك وسم HTML تعرض فيه الناتج:

<p id="result">

  ..

</p>

سيحشر الرد فيه كالتالي:

success:function(result_form_server){

	document.getElemetById(result).innerHTML = result_form_server;
		
	}
			

حالياً دع الخادم يعيد أي قيمة في return وبعد تأكدك من أن الرد يأتي بشكل سليم للصفحة و يعدل النتيجة قم بتعديل الشيفرة لإرجاع القيم الصحيحة

def tab_1(request):  
    ..
...

      return "123"

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 1 دقيقة مضت قال Wael Aljamal:

بعد إرسال طلب AJAX من المتصفح، يتوجب انتظار الرد من الخادم في دالة success حيث تستقبل الرد وتعدل الصفحة بدون تحديثها.

لنفر


success:function(){
		
	}
			

 

عذرا اخي الكريم انا ضعيف في جافاسكريبت 

ماذا يجب ان افعل في هذه الحالة

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 14 دقائق مضت قال Abdulazeez Altamimi:

عذرا اخي الكريم انا ضعيف في جافاسكريبت 

ماذا يجب ان افعل في هذه الحالة

تم نشر التعليق بالخطأ قبل إكماله

أرجو تحديث الصفحة

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 6 دقائق مضت قال Wael Aljamal:

تم نشر التعليق بالخطأ قبل إكماله

أرجو تحديث الصفحة

عذرا اخي اني اتعبك مع

نفذت الذي قلته لي لكني لم احصل على النتيجة

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ الآن قال Abdulazeez Altamimi:

عذرا اخي اني اتعبك مع

نفذت الذي قلته لي لكني لم احصل على النتيجة

هل يمكنك ضغط مجلد المشروع وإرفاقه في تعليق. شكرا

بتاريخ 25 دقائق مضت قال Wael Aljamal:

لنفرض لديك وسم HTML تعرض فيه الناتج:

هنا عليك إضافة المثال لما بعد HTML form

بتاريخ 26 دقائق مضت قال Wael Aljamal:

حالياً دع الخادم يعيد أي قيمة في return وبعد تأكدك من أن الرد يأتي بشكل سليم للصفحة و يعدل النتيجة قم بتعديل الشيفرة لإرجاع القيم الصحيحة

هذه تعني أن مكان الوسم p سيصبح 123 في حال نجح إرسال واستقبال الطلب.

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 24 دقائق مضت قال Wael Aljamal:

هل يمكنك ضغط مجلد المشروع وإرفاقه في تعليق. شكرا

تمام سأرفق المشروع

الدالة موضعة في تطبيق db_math رقم السطر هو 2295

math_project.rar

تم التعديل في بواسطة Abdulazeez Altamimi
رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ منذ ساعة مضت قال Wael Aljamal:

هذه تعني أن مكان الوسم p سيصبح 123 في حال نجح إرسال واستقبال الطلب.

عند الضغط على enter لاحظت هذه الاخطاء في console

Uncaught TypeError: document.getElemetById is not a function
    at Object.success ((index):509:18)
    at fire (jquery-3.5.1.js:3496:31)
    at Object.fireWith [as resolveWith] (jquery-3.5.1.js:3626:7)
    at done (jquery-3.5.1.js:9786:14)
    at XMLHttpRequest.<anonymous> (jquery-3.5.1.js:10047:9)

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 8 دقائق مضت قال Wael Aljamal:

ربما هنالك خطأ كتابي فيها


document.getElementById()

 

شكر لك اخي الكريم 

لقد انحلت المشكلة 

لدي سؤال وهي كيف يمكنني تعميم على كل forms الموجودة في الصفحة ام يجب ان انشئ لكل form دالة خاصة بها

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

  • 0
بتاريخ 3 دقائق مضت قال Abdulazeez Altamimi:

لدي سؤال وهي كيف يمكنني تعميم على كل forms الموجودة في الصفحة ام يجب ان انشئ لكل form دالة خاصة بها

نعم يمكن ذلك،

تعطي هذه Form نفس class ثم نستخلص البيانات من ال form الذي حصل عليه التغغير

حاول البحث عن Targeting multiple forms to send via ajax (jquery)

رابط هذا التعليق
شارك على الشبكات الإجتماعية

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

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

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

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   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.

  • إعلانات

  • تابعنا على



×
×
  • أضف...