我想读取输入框中的值,并根据该值创建(在同一文件中使用PHP)一些下拉框。经过几个小时的努力,我无法找到办法。
HTML输入字段
<input type="text" onblur="sendData(this.value)" name="ingr_count" id="ingr_count" pattern="\d*" />
我有这个JS / AJAX读取值并将其发布在PHP
中function sendData(obj) {
var xmlhttp;
if (window.XMLHttpRequest) {
xmlhttp=new XMLHttpRequest();
} else {
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
alert(obj);
// Do stuff when script returns
}
}
xmlhttp.open("POST","script.php?count=" + obj.value + "&t="+Math.random(),true);
xmlhttp.send();
}
我也有这个PHP读取值
$src1= $_POST['count'];
echo $src1;
评论下面的一切 var xmlhttp; 并警告obj将警告obj,但如果我取消注释它甚至不会提醒值! :O。
答案 0 :(得分:0)
在@Mura和@ Fred-ii的评论之后,我设法完成了我的AJAX代码。问题是,当我收到价值时,我无法在PHP中使用它。因此,当我读取AJAX上的值时,我创建了一个cookie并将输入框值存储在其中,之后我刷新了PHP的内容。所以最终的代码如下所示。
HTML
<input type="text" onblur="sendData(this.value)" name="ingr_count" id="ingr_count" pattern="\d*" />
JS / AJAX
function sendData(obj) {
var xmlhttp;
alert (obj);
if (window.XMLHttpRequest) {
xmlhttp=new XMLHttpRequest();
} else {
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function() {
if (xmlhttp.readyState==4 && xmlhttp.status==200) {
alert(obj);
// Do stuff when script returns
}
}
document.cookie="count="+ obj;
alert (obj);
var x = document.cookie;
alert (x);
$("#main").load("script.php");
}
PHP
if (isset($_COOKIE["count"])){
$src1= $_COOKIE["count"];
echo $src1;
setcookie('count', '', time()-300);
} else { do whatever you want }