PDA

View Full Version : انجام عملیات ریاضی در html و جاوا



nokhodi
یک شنبه 14 دی 1393, 10:27 صبح
سلام دوستانبنده همچین فرمی تو صفحه م دارم :127228حالا میخوام با انتخاب هرکدوم از رادیوباتن ها مقدارش ( value) در مقداری که در input text نوشته میشه ضرب بشه و در یک لیبل نشون داده میشه...کد زیر رو نوشتم اما کار نمیکنه :دستورات جاوا :



<script>
function myFunction() {
var x = document.getElementById("inp_code");
var count = document.getElementById("inp_digit");
var m;
switch (x){
case 1:
m = x*count;
break;
case 2:
m = x*count;
break;
case 3:
m = x*count;
break;
case 4:
m = x*count;
break;
case 5:
m = x*count;
break;
case 6:
m = x*count;
break;
default:
document.write("بروز مشکل!<br />")
}

document.getElementById("result").innerHTML = text;
}
</script>






دستوارات فرم :



<form dir="rtl" action="" method="post">
<table width="100%" height="80"> <tr> <td width="17%" height="37" ><label> <input id="inp_code" name="one" type="radio" value="1" />یک </label></td> <td width="8%"><label> <input id="inp_code" name="two" type="radio" value="2" />دو </label></td> <td width="24%"><label> <input id="inp_code" name="three" type="radio" value="3" />سه </label></td> <td width="19%"><label> <input id="inp_code" name="four" type="radio" value="4" />چهار </label></td> <td width="15%"><label> <input id="inp_code" name="five" type="radio" value="5" />پنج </label></td> <td width="17%"><label> <input id="inp_code" name="six" type="radio" value="6" />شش </label></td> </tr> <tr> <td>متن نمونه :</td> <td><input name="inp_digit" type="text" id="inp_digit" size="10" /></td> <td><button onclick="myFunction()">محاسبه</button></td> <td> متن نمونه : </td> <td colspan="2"><label id="result">متن</label></td> </tr></table>

</form>

ممنون میشم راهنمایی بفرمایید

mojtabamalaekeh
یک شنبه 14 دی 1393, 11:11 صبح
هرچی فکر میکنم نمیفهمم چجوری این رادیوباتن ها رو ایجاد کردی :لبخند: مطمئنی تمام کدهات رو گذاشتی؟
مگر x و count المنت هایی توی صفحه نیستن با همین idها؟ اگه المنت هستن که باید value شون رو ضرب کنی نه خودشون رو.
اینترنت اکسپلورر یه خوبی داره که اگر کد جاوا اسکریپت خطا داشته باشه بهت میگه. توی نوار وضعیت پایین صفحه که علامت خطا اومد روش دوبارکلیک کن میگه اشکال از کجاست.

nokhodi
یک شنبه 14 دی 1393, 11:33 صبح
هرچی فکر میکنم نمیفهمم چجوری این رادیوباتن ها رو ایجاد کردی :لبخند: مطمئنی تمام کدهات رو گذاشتی؟
مگر x و count المنت هایی توی صفحه نیستن با همین idها؟ اگه المنت هستن که باید value شون رو ضرب کنی نه خودشون رو.
اینترنت اکسپلورر یه خوبی داره که اگر کد جاوا اسکریپت خطا داشته باشه بهت میگه. توی نوار وضعیت پایین صفحه که علامت خطا اومد روش دوبارکلیک کن میگه اشکال از کجاست.

ببخشید کد های فرم درست کپی نشده بود... پست اول رو ویرایش کردم ...
ممنون میشم دوباره بررسی کنید کدهارو....

نمیدونم چطوری ولیو ای دی خاص رو( انتخاب شده از سمت کاربر ) رو بگیرم؟!!!

mojtabamalaekeh
یک شنبه 14 دی 1393, 13:37 عصر
1. خاصیت name اگر هم توی نسخه جدید HTML منسوخ شده باشه ولی توی دکمه های رادیویی که میخوای گروه بندی بشن باید از این خاصیت استفاده کنیم.
رادیوباتن هایی که خاصیت name یکسان دارن میشن یک گروه و فقط یکیشون رو میشه انتخاب کرد.
اولین کاری که می کنید یکسان کردن این خاصیت هست چون الان همه انتخاب میشن.

2. توی جاوا اسکریپت دو تابع خوب داریم:
getElementById که یک المنت رو با id منحصر به فردش میگیره
getElementsByName آرایه ای از المنت ها با خاصیت name یکسان رو میگیره. به s جمع توجه کن توی getElementsByName

شما id ها رو یکسان دادی پس تابع getElementById چی باید جواب بده نمیدونم! من اگه جاش بودم هنگ میکردم :لبخند:

وقتی id ها رو منحصر به فرد کردی و name ها رو یکسان کردی میتونی با کد زیر بفهمی کدوم رادیوباتن انتخاب شده و مقدارش رو بذاری توی یک متغیر و استفاده کنی.
با تابع parseInt مقدارش رو عددی که کردم.

من بقیه کد رو چک نکردم (ببخشید باید برم جایی) فقط در مورد دکمه های رادیویی بررسی کردم.


<script>
function myFunction()
{
var n = -1;
var radioButtons = document.getElementsByName("اسم گروه");
for (var i = 0; i < radioButtons.length; i++)
if (radioButtons[i].checked)
{
n = radioButtons[i].value;
break;
}
alert(parseInt(n).toString());
}
</script>

nokhodi
یک شنبه 14 دی 1393, 13:57 عصر
ویرایش :

حل شد...

ممنونم با بررسی کد شما متوجه اشتباهم شدم....