입력 필드의 현재 값을 가져온 다음 제출을 사용하지 않고 필드 값을 기반으로 데이터베이스에서 일부 정보를 반향시키고 싶습니다.양식을 제출하지 않고 입력 필드 값 가져 오기
사이트의 새 프로필을 작성하는 중이고 제출을 클릭하고 사용자 이름이 이미 사용 된 경우 돌아가는 대신 번거로운 과정을 거치지 않고 해당 필드 옆에 오류 메시지를 표시하는 것과 같습니다.
<html>
<body>
<form name='Form'>
Date: <input type='text' id='sheetid' />
<input type='button' onclick='ajaxFunction()' value='Query!' /> <br />
</form>
<div id='content'>Result</div>
</body>
<script language="javascript" type="text/javascript">
function ajaxFunction(){
var ajaxRequest;
try{
ajaxRequest = new XMLHttpRequest();
} catch (e){
try{
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try{
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e){
alert("ERROR!");
return false;
}
}
}
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState == 4){
var ajaxDisplay = document.getElementById('content');
ajaxDisplay.innerHTML = ajaxRequest.responseText;
}
}
var sheetid = document.getElementById('sheetid').value;
var queryString = "?url=" + sheetid;
ajaxRequest.open("GET", "test.php" + queryString, true);
ajaxRequest.send(null);
}
</script>
</html>
내 PHP는 :
이
은 내가 지금까지있어 무엇<?
$st=$_POST['sheetid'];
require_once('database_connect.php');
$inf = "SELECT * FROM `comments` WHERE date='$st' ORDER BY time ASC";
$info = mysql_query($inf);
if(!$info) die(mysql_error());
$info_rows = mysql_num_rows($info);
if($info_rows > 0) {
echo '<table width="95%">';
while($info2 = mysql_fetch_object($info)) {
echo '<tr>';
echo '<td>';echo '<a href="mailto:'.$info2->username.'@mail.com">'.stripslashes($info2->username).'</a>'; echo "("; echo date('H:i', $info2->time)."): "; echo stripslashes($info2->comment).'</td>'.'</tr>';
}
}
?>
또한 수 이러한 의견을 표시하지 않는 이유를 모르겠어요 및 쿼리 버튼을 누르지 않고도 사용자가 입력을 마치거나 입력 상자를 클릭 한 후에 작동시키는 방법을 알아보십시오.
의견을 보내 주시면 감사하겠습니다.
Thnaks
당신이XmlHttpRequest
객체를 초기화하기 않는
감사합니다,하지만 난 내 코드를 misscopied해야합니다 보인다 그냥이 대신 사용합니다. 지금 가지고있는 것으로 업데이트되었습니다. 나는 아무것도 돌려받지 못했다. – user2743057