الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

ماهو document.ContactForm ؟

بدأه mdf في 7 يناير 2011 · 9 رد · 917 مشاهدة · في قسم البرمجة بــ Javascript
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

 function ValidateContactForm()
{
    var age = document.ContactForm.age;

    var height = document.ContactForm.height;

    var weigh = document.ContactForm.weigh;

    var nocall = document.ContactForm.DoNotCall;

هي اكثر من متغير مع الشروط لكن اختصرتها.............

السؤال هنا ماهو document.ContactForm ؟ هل هو اتصال بفورم خارجي فيه معادلات ام ماذا؟؟!

وشكراً

#2
mdf كتب:

السؤال هنا ماهو document.ContactForm ؟ هل هو اتصال بفورم خارجي فيه معادلات ام ماذا؟؟!

ContactForm هو قيمة الخاصة name الخاصة بالفورم ضمن المستند الذي تتعامل معه.

مثال:

<form name="ContactForm" method="post" action="....">
<input type="text" name="age" />
</form>

بكل بساطة هذه طريقة أخرى للوصول لقيمة العنصر age كما ترى في السطر.

var age = document.ContactForm.age;

الكود الذي وضعته لا يحتوي على أي كود خاص بعملية الـ validation إن كنت تسأل عنها مثلاً.

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#3

بارك الله بك اخي Xacker وجزاك الله كل خير

وحتى يكتمل نصاب المعلومة سأضيف اضافة ما لها معنى وهي توضيح حتى وليس اضافة

document يعني الملف

contactform يعني اسم الفورم او النموذج

age اسم الحقل في الفورم او النموذج

تحياتي

#4

اها ...جميل

بعد النظر والتمعن في الكود اتسائل اين المعادلات المستخدمه

<html>



<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>صفحة جديدة 4</title>
</head>

<body>
<!-- end under header -->
        <!-- start right block -->
        		<!-- end right block -->
        <div class="center_body">        <script type="text/javascript"> 
function ShowMenu(num, menu, max) 
{ 


for(i = 1; i <= num; i++){ 
var menu2 = menu + i; 
document.getElementById(menu2).style.display = 'block'; 
} 
var num2 = num; num2++; 
while(num2 <= max){ var menu3 = menu + num2; 
document.getElementById(menu3).style.display = 'none'; 
num2=num2+1; 
} 
} 

function ValidateContactForm()
{
    var age = document.ContactForm.age;

    var height = document.ContactForm.height;

    var weigh = document.ContactForm.weigh;

    var nocall = document.ContactForm.DoNotCall;

    var what = document.ContactForm.action;

    var comment = document.ContactForm.Comment;


 *////////////////////////////////////////شروط
    if (age.value == "")

    {
        window.alert("الرجاء إدخال العمر.");
        age.focus();
        return false;
    }
    if (height.value == "")
    {
        window.alert("الرجاء إدخال الطول.");
        height.focus();
        return false;
    }
    if (weigh.value == "")
    {
        window.alert("الرجاء إدخال الوزن.");
        weigh.focus();
        return false;
    }
    if (what.selectedIndex < 1)
    {
        alert("الرجاء إدخال نوع النشاط.");
        what.focus();
        return false;
    }
    return true;
}
 *////////////////////////////////////////////////////////////////////////نهاية الشروط
function EnableDisable(chkbx)
{
    if(chkbx.checked == true)
    {
        document.ContactForm.Telephone.disabled = true;
    }
    else
    {
        document.ContactForm.Telephone.disabled = false;
    }
}
</script>











<form method="POST" action="index.htm" name="ContactForm" onsubmit="return ValidateContactForm();">
						<table width="97%" cellspacing="0" cellpadding="0">
							<tr>
								<td colspan="2">
								<p align="right" dir="rtl"><strong>
								<span lang="en-us">  </span>للحصول على 
								النظام الغذائي المناسب الرجاء تعبئة النموذج 
								التالي:</strong></p>
								</td>
							</tr>
							<tr>
								<td valign="top" colspan="2"><hr align="right">
								</td>
							</tr>
							<tr>
								<td width="738" align="left">
								<p align="right"> <select name="status" size="1" tabindex="3" id="numflowers" onchange="javscript: ShowMenu(document.getElementById('numflowers').value, 

	'divColor', 1);" dir="rtl">
								<option value="0" selected>مصاب بمرض السكر
								</option>
								<option value="1">لست مصاب بمرض السكر</option>
								</select><span lang="en-us">  </span></p>
								</td>
								<td width="302" align="left" dir="rtl"><b>الحالة 
								: </b></td>
							</tr>
							<tr>
								<td width="738" align="left">
								<p align="right" dir="rtl"><span lang="en-us"> </span><input type="radio" name="sex" value="m" style="font-weight: 700" tabindex="1" onclick="document.getElementById('rr2').style.display='none';"  checked>ذكر  
								<input type="radio" name="sex" value="f" style="font-weight: 700" tabindex="2" onclick="document.getElementById('rr2').style.display='block';" >أنثى   
								</p>
								</td>
								<td width="302" align="left" dir="rtl"><b>الجنس 
								: </b></td>
							</tr>
							<tr>
								<td width="738" align="left">
								<p align="right" dir="rtl">
								<input type="text" name="age" size="5" maxlength="4" tabindex="4" dir="ltr"><b><font size="2" color="#FF0000"><span lang="en-us"> 
								</span>( من 18 – 80 سنه فقط )</font></b> </p>
								</td>
								<td width="302" align="left" dir="rtl"><b>العمر 
								:<span lang="en-us"> </span></b></td>
							</tr>
							<tr>
								<td width="738" align="left">
								<p align="right">
								<input type="text" name="height" size="5" maxlength="4" tabindex="5" dir="ltr"></p>
								</td>
								<td width="302" align="left" dir="rtl"><b>الطول<span lang="en-us">
								</span>:<span lang="en-us"> </span></b></td>
							</tr>
							<tr>
								<td width="738" align="left">
								<p align="right">
								<input type="text" name="weigh" size="5" maxlength="4" tabindex="6" dir="ltr"></p>
								</td>
								<td width="302" align="left" dir="rtl"><b>الوزن 
								:</b> </td>
							</tr>
							<tr>
								<td width="738" align="left">
								<p align="right">
								<select name="action" size="1" dir="rtl" tabindex="7">
								<option value="0" selected>إختر من القائمة بما 
								تقوم به عادة</option>
								<option value="1.2" >
								لا أقوم باي حركة تماماً</option>
								<option value="1.3" >
								أقوم بالنشاطات اليومية</option>
								<option value="1.4" >
								أمشي بمعدل 4-6 مرات في الأسبوع</option>
								<option value="1.5" >
								أنا شخص رياضي</option>
								</select></p>
								</td>
								<td width="302" align="left" dir="rtl"><b>
								النشاطات :</b></td>
							</tr>
						</table>
						<table border="0" width="97%" id="divColor1" style="display: none;" cellspacing="0" cellpadding="0">
							<tr id="rr2" style="display:none">
								<td valign="middle" align="center" height="23" width="262">
								 </td>
								<td valign="middle" align="center" height="23" width="450">
								<p align="right" dir="rtl"><span lang="en-us">
								<input type="checkbox" name="C1" value="1" style="font-weight: 700"><b> 
								اصبت بسكر الحمل في السابق</b></span></p>
								</td>
								<td valign="middle" align="center" height="23" width="292">
								 </td>
							</tr>
							</div>
							<tr>
								<td valign="middle" align="center" height="23" width="262">
								 </td>
								<td valign="middle" align="center" height="23" width="450">
								<p align="right" dir="rtl"><span lang="en-us">
								<input type="checkbox" name="C2" value="1" style="font-weight: 700"><b> 
								لد</b></span><b>يك<span lang="en-us"> </span>أ<span lang="en-us">خ 
								او </span>أ<span lang="en-us">خت يعانون من 
								السكري</span></b></p>
								</td>
								<td valign="middle" align="center" height="23" width="292">
								 </td>
							</tr>
							<tr>
								<td valign="middle" align="center" height="23"> </td>
								<td valign="middle" align="center" height="23" width="450">
								<p align="right" dir="rtl"><span lang="en-us">
								<input type="checkbox" name="C3" value="1" style="font-weight: 700"><b> 
								احد الوالدين يعاني من السكري</b></span></p>
								</td>
								<td valign="middle" align="center" height="23" width="292">
								 </td>
							</tr>
						</table>
						<p align="center">
						<input type="submit" value="احسب" name="submit"    " onerror="alert('The image could not be loaded.')"></p>
					</form>


	</body>				
					</html>
#5

سؤال جيد، والإجابة لا يوجد.

لكن كيف؟ smile.gif

بسيطة، كما ترى فالفورم يقوم بإرسال البيانات إلى الصفحة index.htm من خلال الخاصة action="index.htm" وفي الواقع تلك الصفحة لا يمكن أن تكون ملف html طالما أنها ستستقبل تلك القيم وتعالجها بمعادلات معينة وتظهرها في الصفحة، إذاً ما هي؟

هي صفحة PHP، وتم استغلال ملف .htaccess وكتابة السطر التالي فيه:

AddType application/x-httpd-php .html .htm

بهذه الطريقة، سيرفر Apache سيتعامل مع ملفات HTML على أنها ملفات PHP أيضاً ويعالج الـ PHP parser أي كود PHP موجود في الصفحة. :)

بالتوفيق

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#6
Xacker كتب:

سؤال جيد، والإجابة لا يوجد.

لكن كيف؟ smile.gif

بسيطة، كما ترى فالفورم يقوم بإرسال البيانات إلى الصفحة index.htm من خلال الخاصة action="index.htm" وفي الواقع تلك الصفحة لا يمكن أن تكون ملف html طالما أنها ستستقبل تلك القيم وتعالجها بمعادلات معينة وتظهرها في الصفحة، إذاً ما هي؟

هي صفحة PHP، وتم استغلال ملف .htaccess وكتابة السطر التالي فيه:

AddType application/x-httpd-php .html .htm

بهذه الطريقة، سيرفر Apache سيتعامل مع ملفات HTML على أنها ملفات PHP أيضاً ويعالج الـ PHP parser أي كود PHP موجود في الصفحة. :)

بالتوفيق

اسف الصفحة او الرابط index.htm صفحة قد جربت علية على جهازي.......لكن الصفحة التي على الموقع الذي يوجد فيه الكود هو view.php?action=page&id=135 وهي نفس الصفحة بعد الارسال...........................لكن السؤال اين المعادلات المستخدمه في العمليات ؟

#7

المعادلات موجودة ضمن صفحة الـ PHP.

هذه المعادلات لن تظهر لك، كل ما يظهر هو الخرج والقيم النهائية فقط التي يحددها المبرمج فقط.

مثال:

<?php
$a = 3+7;
echo $a;
?>

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

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#8
Xacker كتب:

المعادلات موجودة ضمن صفحة الـ PHP.

هذه المعادلات لن تظهر لك، كل ما يظهر هو الخرج والقيم النهائية فقط التي يحددها المبرمج فقط.

مثال:

<?php
$a = 3+7;
echo $a;
?>

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

تقصد ان المعادلات موجود من ضمن ملف view.php......!

وماهو الغرض من وضع المتغيرات هل هي لشروط إذا لم يدخل المستخدم إحدى الحقول

 function ValidateContactForm() 
{ 
    var age = document.ContactForm.age; 

    var height = document.ContactForm.height; 

    var weigh = document.ContactForm.weigh; 

    var nocall = document.ContactForm.DoNotCall;
#9
mdf كتب:

تقصد ان المعادلات موجود من ضمن ملف view.php......!

نعم.

mdf كتب:

وماهو الغرض من وضع المتغيرات هل هي لشروط إذا لم يدخل المستخدم إحدى الحقول

 function ValidateContactForm() 
{ 
    var age = document.ContactForm.age; 

    var height = document.ContactForm.height; 

    var weigh = document.ContactForm.weigh; 

    var nocall = document.ContactForm.DoNotCall;

نعم. بعض عمليات التحقق تكون بسيطة، مثل التأكد من أن المستخدم قام بإدخال قيم منطقية في الحقول، هذه العمليات يمكن إجراء التحقق منها في طرف العميل مباشرة (client side) لأن التنفيذ سيكون أسرع ما يمكن، ولا داعي لإرسالها للسيرفر ليتأكد منها ومن ثم ننتظر رده حتى نخبر العميل بأنه أنقص أحد الحقول.

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

أتمنى أن تكون إجابتي بسيطة وواضحة.

Do as I say, not as I do

We are Anonymous. We are Legion. We don't forgive. We don't forget

#10

مشكور جداً وجزاك الله خير

مواضيع مشابهة