با سلام دوستان من یه قطعه کد داشتم که در asp نوشته بودم چون برای محاسبه هر بار صفحه رو رفرش میکرد مجبور شدم به جاوا منتقلش کنم و از اساتید اینجا هم کمک زیادی گرفتم حالا دکمه ای که قرار بود باهاش محاسبات انجام بشه رو که به جاوا منتقل کردم کدم دیگه کار نمیکنه و با زدن دکمه هیچ چیزی نمایش نمیده میشه لطفا راهنمایی بفرمایید؟
<!DOCTYPE html>
<html>
<body>
<input type="text" id="txt" onkeyup="checkValue();" />
<input type="button" value="محاسبه" name="button3" onclick="cal();"/>
<select id="mySelect">
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
</select>
<script>
function checkValue() {
var t_value = document.getElementById('txt').value;
var x = document.getElementById("mySelect").selectedIndex;
var y = document.getElementById("mySelect");
var j;
if (t_value > 5000000 & t_value <= 25000000) {
j = 5;
y.options.length = 4;
for (var i = 0; i <= 3 ; i++) {
y[i].text = j;
j++;
}
}
if (t_value > 25000000 & t_value <= 50000000) {
j = 8;
y.options.length = 3;
for (var i = 0; i <= 2 ; i++) {
y[i].text = j;
j++;
}
}
}
function cal() {
var mv1 = 0, mq1 = 0, k1 = 0, p1 = 0, s = 0, x = 0, x2 = 0,
p2 = 0, mv2 = 0, y = 0;
var x1 = 0;
var t_value = document.getElementById('txt').value;
var x = document.getElementById("mySelect").selectedIndex;
if (t_value > 5000000 & t_value <= 25000000) {
switch (x) {
case 6:
p1 = (0.05 * t1);
mv1 = t1 - p1;
x = mv1 / 250000;
x1 = Convert.ToInt32(x);
x2 = mv1 - (x1 * 250000);
if (x2 > 150000) {
y = x2 - 250000;
p2 = p1 - y;
mv2 = (y + x2) + mv1;
}
if (x2 < 150000) {
p2 = p1 + x2;
mv2 = mv1 - x2;
}
k1 = mv2 * 0.02;
mq1 = mv2 / (d1 - 1);
s = t1 + k1;
Label13.Visible = false;
Label19.Visible = false;
Label4.Text = p2.ToString();
Label15.Text = mv2.ToString();
Label6.Text = mq1.ToString();
Label9.Text = k1.ToString();
Label8.Text = s.ToString();
break;
}
}
}
</script>
</body>
</html>
مشکلات کدی اسکریپت بالا رفع شد ولی محاسباتتون را مجددا چک کنید، شما نباید از کد های سی شارپ برای جاوا اسکریپت استفاده کنید:
<!DOCTYPE html>
<html>
<head>
<title>index</title>
<meta charset="UTF-8" />
<script type="text/javascript">
function checkValue() {
var t_value = document.getElementById('txt').value;
var x = document.getElementById("mySelect").selectedIndex;
var y = document.getElementById("mySelect");
var j;
if (t_value > 5000000 & t_value <= 25000000) {
j = 5;
y.options.length = 4;
for (var i = 0; i <= 3 ; i++) {
y[i].text = j;
j++;
}
}
if (t_value > 25000000 & t_value <= 50000000) {
j = 8;
y.options.length = 3;
for (var i = 0; i <= 2 ; i++) {
y[i].text = j;
j++;
}
}
}
function cal() {
var mv1, mq1, k1, p1, s, x, x2,x1,t1,d1, p2, mv2 , y;
var t_value = document.getElementById('txt').value;
t1 = t_value;
x = document.getElementById("mySelect").selectedIndex;
//var e = document.getElementById("mySelect");
//x = e.options[e.selectedIndex].value;
if (t_value > 5000000 & t_value <= 25000000) {
switch (x) {
case 0:
p1 = (0.05 * t1);
mv1 = t1 - p1;
x = mv1 / 250000;
x1 = parseInt(x);
x2 = mv1 - (x1 * 250000);
if (x2 > 150000) {
y = x2 - 250000;
p2 = p1 - y;
mv2 = (y + x2) + mv1;
}
if (x2 < 150000) {
p2 = p1 + x2;
mv2 = mv1 - x2;
}
k1 = mv2 * 0.02;
mq1 = mv2 / (d1 - 1);
s = t1 + k1;
document.getElementById("demo").innerHTML = p2+"<br/>";
document.getElementById("demo").innerHTML += mv2 + "<br/>";
document.getElementById("demo").innerHTML += mq1 + "<br/>";
document.getElementById("demo").innerHTML += k1 + "<br/>";
document.getElementById("demo").innerHTML += s + "<br/>";
break;
}
}
}
</script>
</head>
<body>
<input type="text" id="txt" onkeyup="checkValue();" />
<button onclick="cal();">محاسبه</button>
<select id="mySelect">
<option>5</option>
<option>6</option>
<option>7</option>
<option>8</option>
<option>9</option>
<option>10</option>
</select>
<p id="demo"></p>
</body>
</html>
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)