PDA

View Full Version : Hỏi đáp Cho mình hỏi về đoạn javascript này



vungtroicuabo
16-11-2011, 04:12 PM
Sao chạy đoạn java này ấn vào nút Welcom ko thấy nó hiện giá trị trong ô tên là msg nhỉ???? Bạn nào biết chỉ mình với, mình mới học javascript

<HTML>
<HEAD>
<Script Language = "JavaScript">
function HienThi()
{
alert(msg.value);
alert("Bạn hãy nhập vào ô text và thử lại !");
}
</Script>
</HEAD>
<BODY>
<input type = button name = welcome value = "Welcome" onclick = "HienThi()">
<input type = text name = msg value = "Welcome to JavaScript" size = 30>
</BODY></HTML>

[Mr]-Boom
16-11-2011, 04:32 PM
<HTML>
<HEAD>
<Script Language = "JavaScript">
function HienThi()
{
alert(document.all.msg.value);
alert("Bạn hãy nhập vào ô text và thử lại !");
}
</Script>
</HEAD>
<BODY>
<input type = button name = welcome value = "Welcome" onclick = "HienThi()">
<input type = text name = msg value = "Welcome to JavaScript" size = 30>
</BODY></HTML>

Bạn chỉnh sửa lại thế này nhé :D

vungtroicuabo
16-11-2011, 05:20 PM
bạn có thể giải thích cho mình dòng vừa thêm vào không??? mình ko hiểu lắm

hongoctrien
16-11-2011, 05:39 PM
Sao chạy đoạn java này ấn vào nút Welcom ko thấy nó hiện giá trị trong ô tên là msg nhỉ???? Bạn nào biết chỉ mình với, mình mới học javascript

<HTML>
<HEAD>
<Script Language = "JavaScript">
function HienThi()
{
alert(msg.value);
alert("Bạn hãy nhập vào ô text và thử lại !");
}
</Script>
</HEAD>
<BODY>
<input type = button name = welcome value = "Welcome" onclick = "HienThi()">
<input type = text name = msg value = "Welcome to JavaScript" size = 30>
</BODY></HTML>


Viết như bạn cũng đúng, nhưng nó chỉ chạy trên một số trình duyệt
Bạn thử chạy bằng IE, nó sẽ chạy được, nhưng FF thì không được.

Code của Boom bổ sung thêm giá trị document.all, biến này có tác động trên mọi trình duyệt nên đoạn script này chạy được ở mọi trình duyệt.

vungtroicuabo
16-11-2011, 05:51 PM
cho mình hỏi thêm đoạn code này nữa, nhập 4 và 2 vào 2 ô textbox rồi ấn dấu cộng thì sao nó lại hiện ra 42 mà ko hiện ra 6 ??? Sai ở chỗ nào vậy???

<HTML>
<HEAD>
<Script Language = "JavaScript">
function Cong()
{
var a,b,c;
a=document.cong.a.value;
b=document.cong.b.value;
alert(a+b);

}
</Script>
</HEAD>
<BODY>
<form name=cong>
<input type = text name = a value = "" size = 5>
<input type = text name = b value = "" size = 5>
<input type = button name = welcome value = "Cộng" onclick = "Cong()">
</form>

</BODY></HTML>

[Mr]-Boom
16-11-2011, 08:08 PM
Ở đoạn code thứ 2 .
Bạn phải thêm hàm parseInt khai gán giá trị cho số mà bạn nhập vào. a=parseInt(document.cong.a.value);
* parseInt("chuỗi"): biến chuỗi thành số nguyên

* parseFloat("chuỗi"): biến chuỗi thành số thực

Bạn sửa lại thế này nhé :

<HTML>
<HEAD>
<Script Language = "JavaScript">
function Cong()
{
var a,b;
a=parseInt(document.cong.a.value);
b=parseInt(document.cong.b.value);
alert(a + b);

}
</Script>
</HEAD>
<BODY>
<form name=cong>
<input type = text name = a value = "" size = 5>
<input type = text name = b value = "" size = 5>
<input type = button name = welcome value = "Cộng" onclick = "Cong()">
</form>

</BODY></HTML>

lyvinhr00m
16-11-2011, 08:10 PM
Giá trị textbox là kiểu chuỗi --> cần chuyển qua số thì mới tính toán dc.


<HTML>
<HEAD>
<Script Language = "JavaScript">
function Cong()
{
var a,b,c;
a=document.cong.a.value;
b=document.cong.b.value;
a=parseInt(a);
b=parseInt(b);
alert(a+b);

}
</Script>
</HEAD>
<BODY>
<form name=cong>
<input type = text name = a value = "" size = 5>
<input type = text name = b value = "" size = 5>
<input type = button name = welcome value = "Cộng" onclick = "Cong()">
</form>

</BODY></HTML>

Cơn Lốc
16-11-2011, 09:11 PM
Bạn giải thích lại cho mình cái ở trên mình thấy còn hơi mơ hồ

lyvinhr00m
16-11-2011, 09:17 PM
Bạn giải thích lại cho mình cái ở trên mình thấy còn hơi mơ hồ

Giá trị của Textbox khi bạn lấy ra sẽ là kiểu Text.
Ví dụ khi nhập 3 vào Textbox thì đó là kiểu Text chứ không phải kiểu số (Int).
Nên khi
alert(a+b);
--> nó sẽ nối 1 chuỗi a và b lại nên sẽ có dạng ab.
Vì thế phải ép kiểu qua kiểu Int thì mới thực hiện tính toán đc.
Mấy cái này bạn sẽ gặp nhiệu khi lập trình sau này, và có nhiều cách chuyển đổi kiểu DL khác nhau tùy thuộc vào ngôn ngữ.
Không chỉ chuyển từ chuỗi --> số mà còn chuyển số --> số (float-->int, hay int-->Double,...)

Cơn Bão
16-11-2011, 09:19 PM
Giá trị của Textbox khi bạn lấy ra sẽ là kiểu Text.
Ví dụ khi nhập 3 vào Textbox thì đó là kiểu Text chứ không phải kiểu số (Int).
Nên khi
alert(a+b);
--> nó sẽ nối 1 chuỗi a và b lại nên sẽ có dạng ab.
Vì thế phải ép kiểu qua kiểu Int thì mới thực hiện tính toán đc.
Mấy cái này bạn sẽ gặp nhiệu khi lập trình sau này, và có nhiều cách chuyển đổi kiểu DL khác nhau tùy thuộc vào ngôn ngữ.
Không chỉ chuyển từ chuỗi --> số mà còn chuyển số --> số (float-->int, hay int-->Double,...)
giải thích như vậy có lẽ là hiểu rồi, hihi

trumcuoiVN
13-01-2012, 11:42 AM
mọi người cho mình hỏi cái này,ko biết post ở đâu nên post ở đây!thầy mình yêu cầu làm form đăng nhập gồm có 2 hàng là user name với password,bên dưới có button submit voi 1 cai button trống,khi người dùng đăng nhập vào và ấn ok thì tên đăng nhập đó sẽ hiện ra bên dưới cái button trống!Ai biết làm chỉ mình với!có code mẫu thì càng tốt! làm bằng javascript nhé!tks admin!