내 HTML 양식의 입력에 문제가 있습니다. Curently 나는 트위터 API에서 트윗을 PHP를 통해 호출하는 Ajax 함수에 트위터 이름을 입력합니다. 업데이트를 계속 확인하는 setInterval 함수가 있기 때문에 입력이 반복적으로 함수로 전달되어 트윗을 가져옵니다.내 기능이 입력 텍스트 필드에서 입력을 계속 읽는 이유는 무엇입니까?
문제는 함수가 텍스트 입력 상자에있는 내용에서 직접 입력을 읽는 것 같습니다. 따라서 사용자가 버튼을 누르거나 누르지 않고 텍스트를 변경하면 함수는 해당 텍스트를 입력으로 계속 읽습니다. 입력을 처음 입력 한 후에는 입력 버튼을 누르거나 제출 버튼을 누르면 수정되지 않습니다.
function getStatusesX() {
var userID = document.getElementById("userid").value;
getStatuses(userID);
var intervalstop = setInterval(function() {getStatuses(userID);}, 20000);
clearInterval(intervalstop);}
//Create a cross-browser XMLHttp Request object
function getXMLHttp() {
var xmlhttp;
if (window.ActiveXObject) {
XMLHttp = new ActiveXObject("Microsoft.XMLHTTP");
} else if (window.XMLHttpRequest) {
XMLHttp = new XMLHttpRequest();
} else {
alert("Your browser does not support XMLHTTP!");
}
return XMLHttp;
}
//function that searches for the tweets via php
function getStatuses(userID){
XMLHttp1 = getXMLHttp();
//ajax call to a php file that will extract the tweets
XMLHttp1.open('GET', 'TwitterGlimpsePHP.php?userid='userID, true);
// Process the data when the ajax object changes its state
XMLHttp1.onreadystatechange = function() {
if(XMLHttp1.readyState == 4) {
if(XMLHttp1.status ==200) { //no problem has been detected
document.getElementById("tweetbox").innerHTML=XMLHttp1.responseText;
}
}
}
XMLHttp1.send(null);
}
내가 텍스트 후 누르면 입력으로 입력이주의 할 다음은 함수입니다
<div id="topdiv">Input Twitter ID: <input type="text" id="userid" onkeydown="if(event.keyCode===13) {document.getElementById('tweet-button').click();}">
<input type="submit" id="tweet-button" onclick="getStatusesX();" value="Get recent tweets">
<p id="tweetbox"></p>
</div>
: 여기
입력에 복용 HTML 양식입니다. 변수에 할당하려고 시도했지만 입력 필드에서 계속 읽는 이유를 알아낼 수 없습니다. 어떤 도움을 주셔서 감사합니다.
getStatuses에 대한 간격 호출을 설정하여 호출 할 때마다 코드를 다시 실행하므로 매번 입력 상자의 텍스트를 가져올 수 있습니다. –
입력 또는 무언가를 비활성화 할 수 있습니다 ... 함수가있는 방식으로 한 번의 클릭으로 N 번 호출 할 수 있습니다. – Hackerman
사용자가 쿼리를 입력하거나 제출할 때마다 간격을 합성합니까?당신은 그것을 getStatusesX 함수에서 var와 clearInterval (var)로 할당해야합니다. –