10/10/2018, 10:27
help ! javascript có 8 dòng code mà không biết lỗi ở đâu!
mình làm một trang thế này:
<script language="javascript">
var time = document.getElementById("time").value;
function setTime(){
alert(time);
}
</script>
<input type="hidden" id="time" value="60">
<a href="#" onclick="setTime()">gia tri</a>
theo mình thì khi click vào thẻ <a> kia thì nó phải hiện ra số 60 mà đằng này nó lại hiện ra undefined. ai biết chỉ mình cái !
<script language="javascript">
var time = document.getElementById("time").value;
function setTime(){
alert(time);
}
</script>
<input type="hidden" id="time" value="60">
<a href="#" onclick="setTime()">gia tri</a>
theo mình thì khi click vào thẻ <a> kia thì nó phải hiện ra số 60 mà đằng này nó lại hiện ra undefined. ai biết chỉ mình cái !
Bài liên quan
<script type="text/javascript">
Còn lý do tại sao là vì tại thời điểm thực thi câu lệnh getElementById DOM chưa ghi nhận sự tồn tại của thẻ input (id="time") vì script được đặt trước. Nên getElementById sẽ trả về null, mà null.value thì chắc chắn là undifined rồi. Bạn có thể kiểm tra điều này bằng cách chuyển nguyên tag script ra sau (trong trường hợp không muốn đưa lệnh var time = document.getElementById("time").value; vào trong function).
function setTime(){
var time = document.getElementById("time").value;
alert(time);
}
</script>
<input type="hidden" id="time" value="60">
<a href="#" onclick="setTime()">gia tri</a> js load trước html ==> null object
ủa! không thấy cái nút thank đâu ta ?
[quote]
<input type="hidden" id="time" value="60">
<a href="#" onclick="return setTime()">gia tri</a>
<script language="javascript">
time = document.getElementById("time").value;
function setTime(){
alert(time);
}
</script>
[quote]