AJAX HTML PHP问题
这是我的scripts.jsAJAX HTML PHP问题,php,html,ajax,Php,Html,Ajax,这是我的scripts.js 依此类推,取决于您使用的浏览器,onkeypress事件也会在不改变内容的按键上触发,如箭头键、回车键或制表键、F5刷新键等。。。对于某些浏览器,甚至按下shift键都可能触发按键。有关详细信息,请参阅 由于PHP代码没有检查输入的值是否为新值,因此每次按下其中一个键时,它都会添加输入的值 此外,使用jQuery进行此操作也是一个好主意。onkeypress将为每个按键触发,即使您在该框中执行此操作。下面是发生的情况: 你输入“j” showHint()被触发,将“
依此类推,取决于您使用的浏览器,
onkeypress
事件也会在不改变内容的按键上触发,如箭头键、回车键或制表键、F5刷新键等。。。对于某些浏览器,甚至按下shift键都可能触发按键。有关详细信息,请参阅
由于PHP代码没有检查输入的值是否为新值,因此每次按下其中一个键时,它都会添加输入的值
此外,使用jQuery进行此操作也是一个好主意。onkeypress将为每个按键触发,即使您在该框中执行此操作。下面是发生的情况:
INSERT INTO sometable (field1, field2, field3, ...) VALUES (value1, value2, value3, ...)
这里混合了某种部分“更新”查询,其格式为
UPDATE sometable SET field1=value1, field2=value2, ....
我看不出你的查询怎么能像现在这样将任何东西插入数据库,因为语法完全被破坏了
function sendRequest(str) {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("txtHint").innerHTML = this.responseText;
}
};
xhttp.open("GET", "inputProcess.php?q="+str, true);
xhttp.send();
}
function showHint(str) {
if (str.length==0) {
document.getElementById("txtHint").innerHTML="";
return;
} else {
sendRequest(str)
}
}
我知道你想做什么,请使用标准方法…你代码中唯一的问题实际上是onkeypress。当您确定用户已经完全输入了单词并且不再输入时,您需要调用请求。我认为在JS中这不是一件很容易的事。当然可以,但您必须花费大量的工时来完成。我很困惑-到底是什么问题?我不知道问题是什么,但我建议您尝试使用jQuery开始AJAX。。。有许多函数使它变得轻而易举,并且从零开始就去掉了所有涉及到的高级编码。检查一下:如果这是您的PHP文件的范围,那么您会遇到一些主要的安全问题,因为您根本没有验证您的输入。任何人都可以很容易地侵入你的数据库。问题是数据被多次保存到数据库中,而不是一次。问题是:当我在文本框中输入(只有一个值)时。然后它将保存在我的数据库中。我输入的文本是“Jordan”。当我检查我的数据库时,它会出现:userid1,J.userid2,Jo。用户标识3 Jor。关于INSERT vs UPDATE语法,MySQL实际上支持多个,如图所示
userid 1 J
userid 2 Jo
userid 3 Jor
INSERT INTO sometable (field1, field2, field3, ...) VALUES (value1, value2, value3, ...)
UPDATE sometable SET field1=value1, field2=value2, ....
function sendRequest(str) {
var xhttp = new XMLHttpRequest();
xhttp.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
document.getElementById("txtHint").innerHTML = this.responseText;
}
};
xhttp.open("GET", "inputProcess.php?q="+str, true);
xhttp.send();
}
function showHint(str) {
if (str.length==0) {
document.getElementById("txtHint").innerHTML="";
return;
} else {
sendRequest(str)
}
}