با سلام دوستان من یه قطعه کد داشتم که در 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>
هیچ کاربری تا کنون از این پست تشکر نکرده است
با ما تماس بگیرید تا در این مسیر همراهتان باشیم :)