09/10/2018, 23:53

đổi chử thành số trong javascript

trong html mình khai báo một text và hàm onclick của button như sau:
<input type="text" id="somon"/>
<input type="button" value="Phát sinh" onclick='bangdiem(somon)>
function bangdiem(somon)
{
var i;
document.write("<table>");
document.write("<tr>");
for (i=1;i<=parseInt(somon.value);i++)
document.write("<td>" + "môn" + i + "</td>");
document.write("</tr>");
document.write("</table>");
}
cho mình hỏi là tại sao vòng lặp for của mình lại không chạy mặc dù mình đã đổi kiểu text thành số bằng cách dùng hàm parseInt(mình đã thử document.write(parseInt(somon.value)) thì thấy vẫn đúng là hiện ra giá trị của mình) help me .thank
thuongshoo viết 02:01 ngày 10/10/2018
<input type="button" value="Phát sinh" onclick='bangdiem(somon)'>
thiếu dấu '

Làm như vầy thì chạy nè
Code:
<html>
<body>
<script  type="text/javascript">
function bangdiem(somon)
{
var i;
document.write("<table>");
document.write("<tr>");
for (i=1;i<=parseInt(somon.value);i++)
document.write("<td>" + "môn" + i + "</td>");
document.write("</tr>");
document.write("</table>");
}
</script>
<input type="text" id="somon"/>
<input type="button" value="Phát sinh" onclick='bangdiem(somon)'/>


</body>
</html>
vunamkhtn viết 02:00 ngày 10/10/2018
làm như vậy cũng không chạy đuợc đâu, chỉ cần thêm một dòng sau:
j=somon.value là ok
thuongshoo viết 02:07 ngày 10/10/2018
làm như vậy cũng không chạy đuợc đâu, chỉ cần thêm một dòng sau:
j=somon.value là ok
ừ! 0 chạy trên IE nhưng chạy trên FF
Còn j=somon.value cũng tương tự
thuongshoo viết 02:09 ngày 10/10/2018
Cái này Ok nè! Đó là khi gọi hàm bangdiem thì truyền luôn value thì IE và FF đều chạy được. Còn nếu không thì với IE không được. Nó nói là cấm truy cập.
Code:
<html>
<head>

</head>
<body>

<input type="text" id="somon"/>
<input type="button" value="Phát sinh" onclick='bangdiem(somon.value)'/>
</body>
<script  type="text/javascript">
function bangdiem(somon)
{
var i;
document.write("<table>");
document.write("<tr>");
for (i=1;i<=somon;i++)
document.write("<td>" + "môn" + i + "</td>");
document.write("</tr>");
document.write("</table>");
}
</script>
</html>
viết 01:58 ngày 10/10/2018
gõ vào 45a xem nào thuongshoo
Sửa lại nhé
PHP Code:
<html>
<
head>
<
META http-equiv=Content-Type content="text/html; charset=UTF-8">
</
head>
<
body>

<
input type="text" id="somon"/>
<
input type="button" value="Phát sinh" onclick='bangdiem(somon.value)'/>
</
body>
<
script  type="text/javascript">
function 
bangdiem(somon)
{
parseInt(document.getElementById('somon').value);
if(
isNaN(n)) 
alert("Nhập số vào ông nội!! ^__^");

document.write("<table>");
document.write("<tr>");
for (
i=1;i<=n;i++)
document.write("<td>" "môn" "</td>");
document.write("</tr>");
document.write("</table>");
}
</script>
</html> 
thuongshoo viết 02:01 ngày 10/10/2018
gõ vào 45a xem nào thuongshoo
cái parseInt chứ gì?

Thực ra nếu làm như bạn thì 0 cần truyền tham số chi nữa! Cái getElementById là làm theo chuẩn W3C thì phải? Làm cái này thì độ tương thích cao hơn.
thuongshoo viết 01:57 ngày 10/10/2018
Tặng cái này nè! Làm rồi mới thấy lạ!
Mình phải gán vô biến tất cả các HTML cần gán, sau đó gán 1 lần vô innerHTML thì mới được. Còn làm từng khúc thì 0 được
Code:
<html>
<head>
<META http-equiv=Content-Type content="text/html; charset=UTF-8">
</head>
<body>
<input type="text" id="somon"/>
<input type="button" value="tạo bảng" onclick='bangdiem()'/>
<div id="dong" name="dong">
 Đây là khu vực DIV

</div>

</body>
<script  type="text/javascript">
function bangdiem()
{
n = parseInt(document.getElementById('somon').value);
d=document.getElementById('dong');

d.innerHTML=d.innerHTML+ "<b> hihihih</b>";
a="<table id='hihi' name='hihi'  border='2' >";
a=a+"<tr>";

for (i=1;i<=n;i++)
a=a+ "<td>" + "môn " +i+  " </td>"+"\n";

a=a+"</tr>";
a=a+"</table>";

d.innerHTML=d.innerHTML+ a;
}
</script>
</html>

Làm như vầy thì 0 được nè!
Code:
<html>
<head>
<META http-equiv=Content-Type content="text/html; charset=UTF-8">
</head>
<body>
<input type="text" id="somon"/>
<input type="button" value="tạo bảng" onclick='bangdiem()'/>
<div id="dong" name="dong">
 Đây là khu vực DIV

</div>

</body>
<script  type="text/javascript">
function bangdiem()
{
n = parseInt(document.getElementById('somon').value);
d=document.getElementById('dong');

d.innerHTML=d.innerHTML+ "<b> hihihih</b>";

d.innerHTML=d.innerHTML+="<table id='hihi' name='hihi'  border='2' >";
d.innerHTML=d.innerHTML+"<tr>";

for (i=1;i<=n;i++)
d.innerHTML=d.innerHTML+ "<td>" + "môn " +i+  " </td>"+"\n";

d.innerHTML=d.innerHTML+"</tr>";
d.innerHTML=d.innerHTML+"</table>";


}
</script>
</html>
viết 02:04 ngày 10/10/2018
innerHTML sets or gets all of the markup and content within a given element.
PHP Code:
var markup element.innerHTML;
element.innerHTML markup
Bài liên quan
0