สองถามเรื่องการใช้งาน Function Onchange ครับ ติดปัญหาเรื่องการตอบสนอง
Code (PHP)
<!DOCTYPE html>
<html>
<head>
<title>GEN_Q</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<script src="http://code.jquery.com/jquery-latest.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="W3/W3.CSS">
<meta charset=utf-8 />
<script language="JavaScript">
var HttPRequest = false;
function doCallAjax(Sort) {
HttPRequest = false;
if (window.XMLHttpRequest) { // Mozilla, Safari,...
HttPRequest = new XMLHttpRequest();
if (HttPRequest.overrideMimeType) {
HttPRequest.overrideMimeType('text/html');
}
} else if (window.ActiveXObject) { // IE
try {
HttPRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
HttPRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!HttPRequest) {
alert('Cannot create XMLHTTP instance');
return false;
}
var url = 'NEW_CALL.php';
var pmeters = 'mySort='+Sort;
HttPRequest.open('POST',url,true);
HttPRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
HttPRequest.setRequestHeader("Content-length", pmeters.length);
HttPRequest.setRequestHeader("Connection", "close");
HttPRequest.send(pmeters);
HttPRequest.onreadystatechange = function()
{
if(HttPRequest.readyState == 3) // Loading Request
{
document.getElementById("mySpan").innerHTML = "Now is Loading...";
}
if(HttPRequest.readyState == 4) // Return Request
{
document.getElementById("custId").value = HttPRequest.responseText;
}
}
}
</script>
</head>
<body onload="bodyOnload();">
<form name="frmMain" action="" method="post">
<script language="JavaScript">
function bodyOnload()
{
doCallAjax('ID')
setTimeout("doLoop();",5000);
}
function doLoop()
{
bodyOnload();
}
</script>
<input type="text" id="custId" name="custId" onchange="myFunction()">
<script language="JavaScript">
function myFunction() {
var audio = new Audio('audio/1.mp3');
audio.play()
alert("TEST");
}
</script>
</body>
</html>
จาก Code ด้านบนผมติดปัญหาดังนี้ครับ
1. Function จะทำงานในกรณี ที่เปลี่ยน Value โดยการ Key มือแล้ว Enter แต่จะทำงานเฉพาะ alert เท่านั้น เล่นเสียงไม่ทำงานครับ
2. กรณี Value เปลี่ยน โดยค่าที่ส่งมาจาก Respone Ajax Function จะไม่ทำงานครับ
เรียนสอบถามว่าผมพลาดตรงไหนครับ หากต้องการให้ Function ทำงานครบ หลังจากการ Respose ของ Ajax ขอบคุณครับTag : PHP, HTML5, JavaScript, Ajax
ประวัติการแก้ไข 2019-04-10 16:29:13
Date :
2019-04-10 16:23:51
By :
kidscirenser23
View :
707
Reply :
3
รอผู้ช้แนะอยุ่นะครับ ขอบคุณครับ
ประวัติการแก้ไข 2019-04-11 10:31:09
Date :
2019-04-11 10:30:53
By :
kidscirenser23
1 var audio = new Audio('audio/1.mp3'); เช็คพาธ ว่าถูกต้องไหม
2 ย้าย script 069-081 ไปไว้ใน tag head
069<script language="JavaScript">
070.
071.function bodyOnload()
072.{
073.doCallAjax('ID')
074.setTimeout("doLoop();",5000);
075.}
076.
077.function doLoop()
078.{
079.bodyOnload();
080.}
081.</script>
Date :
2019-04-11 10:56:49
By :
Chaidhanan
Load balance : Server 03