从输入中检索值并 post 在同一个 PHP 中

Retrieve value from input and post it in the same PHP

我想读取输入框中的值,并基于此创建(与 PHP 在同一文件中)一些下拉框。尝试了几个小时后,我找不到办法做到这一点。

HTML 输入字段

<input type="text" onblur="sendData(this.value)" name="ingr_count" id="ingr_count" pattern="\d*" />

我有这个 JS/AJAX 来读取值 post 它在 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; 

注释掉下面的所有内容 变量 xmlhttp; 并提醒 obj 将提醒 obj 但如果我取消注释它甚至不会提醒该值! :O.

在@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   }