ورود

نسخه کامل مشاهده نسخه کامل : درخواست کمک در کدنویسی یک برنامه تحت وب



SoushianS-ali
23-05-2013, 14:13
سلام دوستان... من یک دارم که درواقع یک نرم افزاره تحت وب هست که 3تا عدد (سال1و سال2 و مبلغ) رو از کاربر میگیره و مبلغ رو در شاخص سال 2 ضرب میکنه و بر شاخص سال 1 تقسیم میکنه...
گذاشتم تو قالب اصلی و وقتی دکمه محاسبه میزنم خطا ها رو پیام میده (مثلا نباید سال1 از سال2 کوچیکتر باشه) ولی عدد نهایی رو نشون نمیده...
در آخر کد دقیقا جایی که باید عدد نهایی نمایش داده بشه نوشته LoadMyHesab(); و یک مقدار هم اولای کد بذای توضیح این LoadMyHesab(); داره....

لطفا راهنماییم کنیم... خیلی برام مهمه...:n28:



اینم کدا:

محاسبه مهریه
<script type="text/javascript" src="[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]"></script>
<script language="javascript">
//================================================== ========================
function LoadMyHesab(){
var FromLang = 't92YuwWarFmdx4yd3dnMw4CMjUTMzEzIzAjLwMiNxMTMjMDMu AzI3EzMxMyMw4CMjgTMzEzIzAjLwMSOxMTMjUDMuAzIwIzMxMS Ow4CMjEjMzEzIwIjLwMiMyMTMjAjMuAzIzIzMxMyNx4CMjQjMz EzI1EjLwMSNyMTMjYTMuAzI2IzMxMCOx4CMjcjMzEzI5EjLwMC OyMTMjUTMuAzI5IzMxMyNx4CMjAzMzEzI4EjLwMSMzMTMjkTMu AzIyMzMxMyMy4CMjMzMzEzIzIjLwMCNzMTMjUjMuAzI1MzMxMi Ny4CMjYzMzEzI2IjLwMyNzMTMjAzMuAzI4MzMxMiMz4CMjkzMz EzIyMjLwMCM0MTMjMzMuAzIxQzMxMyMz4CMjIDNzEzI1MjLwMy M0MTMjUzMuAzI0QzMxMSNz4CMjUDNzEzI1MjLwMiN0MTMjYzMu AzI3QzMxMyNz4CMjgDNzEzI4MjLwMSO0MTMjADNuAzIwUzMxMi M04CMjETNzEzI3QjLwMiM1MTMjQTNuAzIzUzMxMSO14CMjQTNz EzI5YjLwMSN1MTMjYDOuAzI2UzMxMSN54CMjcTNzEzI2AjLxMC O1MTMjEzMuEzI5UzMxMSM24SMjAjNzEzIykjLxMSM2MTMjAjMu IzIyYzMxMyM04iMjMjNzEzIwYjLyMCN2MTMjEjMuMzI1YzMxMC Mx4CNjYjNzEzI5IjL1MyN2MTMjEjMuYzI4YzMxMyN34iNjkjNz EzI3EjL4MCM3MTMjcTMuATMjEzNzEzI4QjLyEzIyczMxMCO44i NxMyM3MTMjEjMuUjMjQzNzEzI3AjLxMzI1czMxMCN04iNzMiN3 MTMjMDMuMDNjczNzEzI4YjLxUzI4czMxMCMy4CO1MSO3MTMjMD OuQjNjADOzEzI2AjL1czIxgzMxMSO34iN4MiM4MTMjADMuADMx MyM4MTMjUzMuATMxMCN4MTMjUDNuMjMxMSN4MTMjIjMuYDNxMi N4MTMjEzMuMDOxMyN4MTMjMDMuMDMyMCO4MTMjkTMugjMyMSO4 MTMjEjMuczNyMCM5MTM';
var Aqd = document.getElementById("Aqd").value;
var Tal = document.getElementById("Tal").value;
var Mehr = document.getElementById("Mehr").value;
var Par = document.getElementById("Par");
if(Aqd=="0"){
alert("لطفا سال وقوع عقد را انتخاب نمایید");
return;
}
if(Tal=="0" ){
alert("لطفا سال فوت همسر یا سال مطالبه را انتخاب نمایید");
return;
}
if(Tal < Aqd){
alert("در انتخاب تاریخ ها دقت نمایید");
return;
}
if(Mehr==""){
alert("مبلغ مهریه مندرج در عقدنامه را وارد کنید");
return;
}
var MYAJAX = new sack();
var ajaxURL = '[ برای مشاهده لینک ، لطفا با نام کاربری خود وارد شوید یا ثبت نام کنید ]';
Par.value = '';
MYAJAX.setVar('Aqd',Aqd);
MYAJAX.setVar('Mehr',Mehr);
MYAJAX.setVar('Tal',Tal);
MYAJAX.setVar('FromLang',FromLang);
var url = '';
url = ajaxURL+'T='+Math.floor(Math.random() * 100000000);
MYAJAX.requestFile = url;
MYAJAX.onCompletion = function(){
var Mehr = MYAJAX.response;
Mehr = Comma(Mehr);
Par.innerHTML = Mehr;
};
MYAJAX.runAJAX();
}
//================================================== ========================
function DoCommaX(id){
var A = document.getElementById(id).value;
A = A.replace(/\,/g, '');
A = Comma(A);
document.getElementById(id).value = A;
}
//================================================== ========================
function DoComma(id){
window.setTimeout("DoCommaX('"+id+"');",10);
}
//================================================== ========================
function Comma(myVal) {
var T='',S=String(myVal),S2=String(parseFloat(S));L=S2 .length-1, j;
for (var j=0; j<=L; j++) {
T+=S.charAt(j);
if ((j < L) && ((L-j)%3 == 0))
T+=',';
}
if(myVal - parseFloat(myVal)>0)
T = T + '.'+parseFloat((myVal - parseFloat(myVal))*100);
return T;
}
//================================================== ========================
</script>

<table class="MyTable" style="width:100%;">
<tr class="row0">
<td><select name="Tal" id="Tal" class="inputbox hasTip" title="سال فوت همسر یا سال مطالبه" size="1"><option value="0" >سال فوت همسر یا سال مطالبه</option><option value="1390" >1391</option>
<option value="1389" >1390</option><option value="1388" >1389</option><option value="1387" >1388</option>
<option value="1386" >1387</option><option value="1385" >1386</option><option value="1384" >1385</option><option value="1383" >1384</option><option value="1382" >1383</option><option value="1381" >1382</option><option value="1380" >1381</option><option value="1379" >1380</option><option value="1378" >1379</option><option value="1377" >1378</option><option value="1376" >1377</option><option value="1375" >1376</option><option value="1374" >1375</option><option value="1373" >1374</option><option value="1372" >1373</option><option value="1371" >1372</option><option value="1370" >1371</option><option value="1369" >1370</option><option value="1368" >1369</option><option value="1367" >1368</option><option value="1366" >1367</option><option value="1365" >1366</option><option value="1364" >1365</option><option value="1363" >1364</option><option value="1362" >1363</option><option value="1361" >1362</option><option value="1360" >1361</option><option value="1359" >1360</option><option value="1358" >1359</option><option value="1357" >1358</option><option value="1356" >1357</option><option value="1355" >1356</option><option value="1354" >1355</option><option value="1353" >1354</option><option value="1352" >1353</option><option value="1351" >1352</option><option value="1350" >1351</option><option value="1349" >1350</option><option value="1348" >1349</option><option value="1347" >1348</option><option value="1346" >1347</option><option value="1345" >1346</option><option value="1344" >1345</option><option value="1343" >1344</option><option value="1342" >1343</option><option value="1341" >1342</option><option value="1340" >1341</option><option value="1339" >1340</option><option value="1338" >1339</option><option value="1337" >1338</option><option value="1336" >1337</option><option value="1335" >1336</option><option value="1334" >1335</option><option value="1333" >1334</option><option value="1332" >1333</option><option value="1331" >1332</option><option value="1330" >1331</option><option value="1329" >1330</option><option value="1328" >1329</option><option value="1327" >1328</option><option value="1326" >1327</option><option value="1325" >1326</option><option value="1324" >1325</option><option value="1323" >1324</option><option value="1322" >1323</option><option value="1321" >1322</option><option value="1320" >1321</option><option value="1319" >1320</option><option value="1318" >1319</option><option value="1317" >1318</option><option value="1316" >1317</option><option value="1315" >1316</option></select></td>
</tr>
<tr class="row1">
<td><select name="Aqd" id="Aqd" class="inputbox hasTip" title="انتخاب سال وقوع عقد" size="1">
<option value="0" >انتخاب سال وقوع عقد</option><option value="1390" >1390</option>
<option value="1389" >1389</option><option value="1388" >1388</option><option value="1387" >1387</option><option value="1386" >1386</option><option value="1385" >1385</option><option value="1384" >1384</option><option value="1383" >1383</option><option value="1382" >1382</option><option value="1381" >1381</option><option value="1380" >1380</option><option value="1379" >1379</option><option value="1378" >1378</option><option value="1377" >1377</option><option value="1376" >1376</option><option value="1375" >1375</option><option value="1374" >1374</option><option value="1373" >1373</option><option value="1372" >1372</option><option value="1371" >1371</option><option value="1370" >1370</option><option value="1369" >1369</option><option value="1368" >1368</option><option value="1367" >1367</option><option value="1366" >1366</option><option value="1365" >1365</option><option value="1364" >1364</option><option value="1363" >1363</option><option value="1362" >1362</option><option value="1361" >1361</option><option value="1360" >1360</option><option value="1359" >1359</option><option value="1358" >1358</option><option value="1357" >1357</option><option value="1356" >1356</option><option value="1355" >1355</option><option value="1354" >1354</option><option value="1353" >1353</option><option value="1352" >1352</option><option value="1351" >1351</option><option value="1350" >1350</option><option value="1349" >1349</option><option value="1348" >1348</option><option value="1347" >1347</option><option value="1346" >1346</option><option value="1345" >1345</option><option value="1344" >1344</option><option value="1343" >1343</option><option value="1342" >1342</option><option value="1341" >1341</option><option value="1340" >1340</option><option value="1339" >1339</option><option value="1338" >1338</option><option value="1337" >1337</option><option value="1336" >1336</option><option value="1335" >1335</option><option value="1334" >1334</option><option value="1333" >1333</option><option value="1332" >1332</option><option value="1331" >1331</option><option value="1330" >1330</option><option value="1329" >1329</option><option value="1328" >1328</option><option value="1327" >1327</option><option value="1326" >1326</option><option value="1325" >1325</option><option value="1324" >1324</option><option value="1323" >1323</option><option value="1322" >1322</option><option value="1321" >1321</option><option value="1320" >1320</option><option value="1319" >1319</option><option value="1318" >1318</option><option value="1317" >1317</option><option value="1316" >1316</option><option value="1315" >1315</option></select></td>
</tr>
<tr class="row0">
<td><input title="مبلغ مهریه مندرج در عقدنامه" type="text" class="inputbox hasTip" name="Mehr" id="Mehr" onkeypress="DoComma(this.id);" onkeydown="DoComma(this.id);" onchange="DoComma(this.id);" /></td>
</tr>
<tr class="row1">
<td><input type="button" class="button" value="محاسبه" onclick="LoadMyHesab();" /></td>
</tr>
<tr class="row0">
<td>مبلغ مهریه برحسب ریال</td>
</tr>
<tr class="row1">
<th><div id="Par"></div></th>
</tr>
</table></td>

anvar.net
26-05-2013, 09:23
اینها همه کدها و توابع جاوا اسکریپت هستند : اگه خطایی مورد نظر شما رو داده (یعنی : مثلا نباید سال1 از سال2 کوچیکتر باشه) قطعا سال 1 شما که باید از لیست انتخاب کنید از سال دوم که باز هم از لیست انتخاب میشه نباید کوچکتر باشه : مثلا یکی سال تولدش 1360 باشه و سال ازدواجش 1359 , منطقا پردازش با این دو تاریخ صحیح نیست برای همین سیستم شما به هشدار می دهد که سال ها را درست انتخاب کنید. اگر پیام هشدار همین بود که راه حل طبق بالاست در غیر اینصورت متن هشدار را بذارید.
LoadMyHesab یه تابع جاوا اسکریپته, در اول کد اون رو تعریف کرده و در آخر کد اون رو صدا زده تا شروع به کار کند, در واقع پردازش نهایی برای شما توسط همین تابع و بعد از اعتبارسنجی داده ها صورت می گیره, اگر همه چیز درست پیش رفته باشد این تابع در پایان عدد نهایی را به شما خواهد داد اما اگر در هر قسمت از این تابع مشکلی ایجاد شود پردازش شما لغو خواهد شد و جواب نهایی ارسال نخواهد شد.

اگر از asp.net استفاده می کنید بهتره از کدهای سمت سرور برای پردازش استفاده کنید, چون مزایای بیشتری نسبت به جاوا اسکریپت داره .
در ضمن خواهشا کدهای خودتون رو در میان علامت های کد # و بصورت چپ چین قرار بدهید تا بهتر قابل خواندن باشند

SoushianS-ali
26-05-2013, 16:26
:n16:
خیلی ممنون از راهنماییتون...
کاملا درست گفتید اینLoadMyHesab همون دستوره اصلی هست . حالا اگه بخوام ی کدی برای LoadMyHesab قرار بدم که بوسیله اون فرم رو پردازش کنه میشه کمکم کنید؟ در واقع میخوام ( Par=""Tal"*"Mehr"/"Aqd" ) اینکار رو انجام بده نهایتا! یعنی تو کدها Tal سال وصول هست و Aqd سال عقد هست و Mehr مبلغ مهریه هست و Par عدد نهائی هست که باید بوسیله پردازش بدست بیاد. درواقع پردازش باید این سه تا id رو بگیره و Par رو بده... و اینکار عملیات : = Tal ضرب در Mehr و عدد بدست آمده تقسیم بر Tal= عدد نهایی که سیستم باید نشون بده پردازش کنه که با id=par تعریف شده...

درمورد خطا منظورم این بود که پردازش میکنه ولی فقط خطاها رو نشون میده! ولی نتیجه و عدد نهائی رو نشون نمیده!!

خیلی ممنون میشم اگه راهنماییم کنید

SoushianS-ali
26-05-2013, 17:14
البته واسه هر سال بشه شاخصی به سیستم معرفی کرد مثلا اینطوری<option value="277.21">1390</option> عدد قرمز رنگ شاخص اون سال باشه که وقتی کاربر سال رو انتخاب میکنه سیستم شاخص اون سال که جلوش هست رو در عدد سوم ضرب کنه و تقسیم بر شاخص سال عدد دوم بکنه...
:n16: