ساخت آزمون تستی

farik

Well-Known Member
با سلام..
شما با جاوا اسكريپت تنها متونيد به طريقه ي نمايش سوالات و سايت دسترسي و اون رو تغيير بدين يا نتايج رو به سرور بفرستين ولي اگه مايلين كه نتايج ثبت بشه نياز به زبان تحت سرور هست...
البته اگه شما بخوايد ميتونين براي هر كاربر يك آزمون برگزار و نتايجش رو فقط به خودش اطلاع بدين كه البته اين آزمون هم خطاي زيادي داره(مثلا اگه يارو جاوا اسكريپتش رو غير فعال بود چي؟).....
به هر حال اگه خواستين بدونين چطوري ميشه آزمون نوع دوم رو برگزار كرد بگين تا توضيح بدم...
 

farik

Well-Known Member
با سلام..
خوب در اين نوع از آزمون شما بايد اشيائ صفحه رو كنترل كنيد با استفاده از رويدادها..
يك نمونه واستون گذاشتم....البته ميشه خيلي بيشتر روش كار كدر...ببخشيد اگه تودرتو شد معمولا من همينطوري مينويسم..
ببينيد اگه مشكلي بود يا قطعه اي از اون رو نفهميديد بگين..
کد:
<html dir="rtl">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>New Page 1</title>
</head>

<body>
<p dir="ltr">
<script>
function showResult(QNum){
	var result=0;
	for(i=0;i<QNum+1;i++){
		var all=new Array();
		all=document.getElementsByName('Q'+i);
		for(j=0;j<all.length;j++){
			if(all[j].checked&&all[j].value=='true'){
				result+=1;
			}
		}
	}
	document.getElementById('result').innerText='YourResult:'+result;
}
function uncheck(name){
	var all=new Array();
	all=document.getElementsByName(name);
	for(i=0;i<all.length;i++){
		all[i].checked=false;
	}
}
</script>
soal1:matne soal<br />gozine1:<input type="checkbox" name="Q1" value="true"  onclick='uncheck(this.name);this.checked=true;'>
gozine2:<input type="checkbox" name="Q1" value="false" onclick='uncheck(this.name);this.checked=true;'>
gozine3:<input type="checkbox" name="Q1" value="false" onclick='uncheck(this.name);this.checked=true;'>
gozine4:<input type="checkbox" name="Q1" value="false" onclick='uncheck(this.name);this.checked=true;'>
<br />//------------------------------------------------------------------------------------------------------------\\<br/>
soal2:matne soal<br />gozine1:<input type="checkbox" name="Q2" value="false" onclick='uncheck(this.name);this.checked=true;'>
gozine2:<input type="checkbox" name="Q2" value="false" onclick='uncheck(this.name);this.checked=true;'>
gozine3:<input type="checkbox" name="Q2" value="true"  onclick='uncheck(this.name);this.checked=true;'>
gozine4:<input type="checkbox" name="Q2" value="false" onclick='uncheck(this.name);this.checked=true;'>
</p>
<p dir="ltr">
<input type="submit" value="Submit" name="B1" onclick='showResult(2)'><div id=result></div>
 </p>

</body>

</html>
 

jalaladdin

Active Member
سلام دوست گرامی چگونه میتوان 20 سوال طراحی کرد که در پایان آزمون کاربر نتیجه خود را مثلانمره از100% باشد را ببیند
 

farik

Well-Known Member
با سلام...
خوب دوست عزيز شما اگه بخواين بيست تا سوال اضافه كنين بايد سوال ها يك سري تغييرات جزيي بدين كه من اينجا واسه سه تا انجام دادم و كد رو دوباره ميزارم و قسمت هاي عوض شده رو رنگي ميكنم:
کد:
<html dir="rtl">

<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>New Page 1</title>
</head>

<body>
<p dir="ltr">
<script>
function showResult(QNum){
	var result=0;
	for(i=0;i<QNum+1;i++){
		var all=new Array();
		all=document.getElementsByName('Q'+i);
		for(j=0;j<all.length;j++){
			if(all[j].checked&&all[j].value=='true'){
				result+=1;
			}
		}
	}
[COLOR="Red"]	result=Math.round((result/QNum)*100);[/COLOR]
	document.getElementById('result').innerText='YourResult:'+result+'%';
}
function uncheck(name){
	var all=new Array();
	all=document.getElementsByName(name);
	for(i=0;i<all.length;i++){
		all[i].checked=false;
	}
}
</script>
soal1:matne soal<br />gozine1:<input type="checkbox" name="Q1" value="true"  onclick='uncheck(this.name);this.checked=true;'>
gozine2:<input type="checkbox" name="Q1" value="false" onclick='uncheck(this.name);this.checked=true;'>
gozine3:<input type="checkbox" name="Q1" value="false" onclick='uncheck(this.name);this.checked=true;'>
gozine4:<input type="checkbox" name="Q1" value="false" onclick='uncheck(this.name);this.checked=true;'>
<br />//------------------------------------------------------------------------------------------------------------\\<br/>
soal2:matne soal<br />gozine1:<input type="checkbox" name="Q2" value="false" onclick='uncheck(this.name);this.checked=true;'>
gozine2:<input type="checkbox" name="Q2" value="false" onclick='uncheck(this.name);this.checked=true;'>
gozine3:<input type="checkbox" name="Q2" value="true"  onclick='uncheck(this.name);this.checked=true;'>
gozine4:<input type="checkbox" name="Q2" value="false" onclick='uncheck(this.name);this.checked=true;'>
[COLOR="Red"]<br />//------------------------------------------------------------------------------------------------------------\\<br/>
soal3:matne soal<br />gozine1:<input type="checkbox" name="[COLOR="Lime"]Q3[/COLOR]" value="false" onclick='uncheck(this.name);this.checked=true;'>
gozine2:<input type="checkbox" name="[COLOR="Lime"]Q3[/COLOR]" value="false" onclick='uncheck(this.name);this.checked=true;'>
gozine3:<input type="checkbox" name="[COLOR="Lime"]Q3[/COLOR]" value="true"  onclick='uncheck(this.name);this.checked=true;'>
gozine4:<input type="checkbox" name="[COLOR="Lime"]Q3[/COLOR]" value="false" onclick='uncheck(this.name);this.checked=true;'>

[/COLOR]
</p>
<p dir="ltr">
<input type="submit" value="Submit" name="B1" onclick='showResult[COLOR="Red"](3[/COLOR])'><div id=result></div>
 </p>

</body>

</html>
 

jalaladdin

Active Member
ممنونم که کد را نوشتید سوالات را نوشتم اما وقتی روی دکمه submitکلیک میکنم نتیجه را نشان نمیدهد
 

farik

Well-Known Member
با سلام...
دوست عزيز لطفا كدت رو بزار كه مشكل رو حل كنيم:wink:
 

jalaladdin

Active Member
این هم کد
کد:
<p>                                         
   <table border='0' width='50%' cellspacing='0' cellpadding='0' ><form name=form1 method=post  action="quizhtml2.html" onsubmit='return validate(this)'> <tr bgcolor='#ffffff'><td align=center ><font face='verdana' size='2' ><div class=" dir container-content-sidebar-front  "><b>1-كداميك از مقادير زير ويژه صفت Align براي تنظيم تصوير در صفحه نمي باشد ؟ </b><br>
<input type=radio name=q value='1' onClick="validate(this)";>left<br>
<input type=radio name=q value='2' onClick="validate(this)";>top<br>
<input type=radio name=q value='3' onClick="validate(this)";>right<br>
<input type=radio name=q value='4' onClick="validate(this)";>center<br>
<br>
<div class=" dir  "><b>2-كداميك از مقادير زير ويژه صفت Align براي تنظيم تصوير در صفحه نمي باشد ؟ </b><br>
<input type=radio name=q value='1' onClick="validate(this)";>left<br>
<input type=radio name=q value='2' onClick="validate(this)";>top<br>
<input type=radio name=q value='3' onClick="validate(this)";>right<br>
<input type=radio name=q value='4' onClick="validate(this)";>center<br>
<br>
<div class=" dir  "><b>3-كداميك از مقادير زير ويژه صفت Align براي تنظيم تصوير در صفحه نمي باشد ؟ </b><br>
<input type=radio name=q value='1' onClick="validate(this)";>left<br>
<input type=radio name=q value='2' onClick="validate(this)";>top<br>
<input type=radio name=q value='3' onClick="validate(this)";>right<br>
<input type=radio name=q value='4' onClick="validate(this)";>center<br>
<br>
<div class=" dir  "><b>4-كداميك از مقادير زير ويژه صفت Align براي تنظيم تصوير در صفحه نمي باشد ؟ </b><br>
<input type=radio name=q value='1' onClick="validate(this)";>left<br>
<input type=radio name=q value='2' onClick="validate(this)";>top<br>
<input type=radio name=q value='3' onClick="validate(this)";>right<br>
<input type=radio name=q value='4' onClick="validate(this)";>center<br>
<br>
<div class=" dir  "><b>5-كداميك از مقادير زير ويژه صفت Align براي تنظيم تصوير در صفحه نمي باشد ؟ </b><br>
<input type=radio name=q value='1' onClick="validate(this)";>left<br>
<input type=radio name=q value='2' onClick="validate(this)";>top<br>
<input type=radio name=q value='3' onClick="validate(this)";>right<br>
<input type=radio name=q value='4' onClick="validate(this)";>center<br>
<br>
<input type=submit value=بعدی> <input type=reset value=Reset></td></tr></div>
</table></form>
      
                                
</p>
 

farik

Well-Known Member
با سلام...
دوست عزيز شما بايد مثل هم به شكل "شماره سوالQ" نام رو بگذاري مثلا واسه سوال 3=>Q3
من سوال ها رو به شكل فورم كه نگذاشتم
شما فكر كنم از خودتون تابع رو نوشتين و به مثال من توجهي نداشتين...چون شياهتش با كد من خيلي كمه:shock:
دوست عزيز همون كد رو توسعه بدين مشكلي بود در خدمتم اين كدي كه نوشتين مشكل زياد داره
 

jalaladdin

Active Member
میشه با جاوا اسکریپت آزمونی را طراحی کرد که سوالات به صورت تصادفی باشه ؟
 

jalaladdin

Active Member
طراحی آزمون

میشه با جاوا اسکریپت آزمونی را طراحی کرد که سوالات به صورت تصادفی باشه ؟
 

farik

Well-Known Member
با سلام...
با عرض پوزش از غيبت چند روزه...بايد بگم كه آره ميشه...فقط كافيه كه سوالات رو تو يك آرايه ذخيره كنين و با استفاده از تابع Math.rand() يك خونه از اون آرايه رو به طور تصادفي چاپ كنه..
با تشكر TabOTabDesign
 

mirsalehi

Member
من پیشنهاد می کنم از تستا استفاده کن
نرم افزار اپن سورسی که همه ی چیزهایی که می خوای و کامل ترشو هم داره
خیلی علیه من بارها استفاده کردم
این هم آدرسش:
http://testa.aftabgardan-cc.com

دانلود کن تو هاستت بارگذاری کن و بعد فقط سوالا رو تعریف کن
 

جدیدترین ارسال ها

بالا