Php 使用ajax保存表单变量onchange

Php 使用ajax保存表单变量onchange,php,html,ajax,forms,Php,Html,Ajax,Forms,我试图用ajax将表单数据保存到$\u SESSION变量中,但似乎无法正确运行onchange事件或发送变量 表单长度不同,所以我尝试使用动态变量 <script> function orderValues(boxValue){ $.post("/ajaxConnect.php",{value: $("qty_" + boxValue).val()}, function( result ) { console.log

我试图用ajax将表单数据保存到
$\u SESSION
变量中,但似乎无法正确运行onchange事件或发送变量

表单长度不同,所以我尝试使用动态变量

<script>
    function orderValues(boxValue){
        $.post("/ajaxConnect.php",{value: $("qty_" + boxValue).val()}, 
        function( result ) {
            console.log('value saved');
        });
    }
</script>

<php
    echo "<div id=\"prodBox\">QTY: <input name=\"qty_".rawurldecode($item->LINE)."\" value=\"" . $_SESSION['box_']['qty_'.rawurldecode($item->LINE)] . "\" type=\"number\" onchange=\"orderValues(this.value)\"/></div>";
?>

函数orderValues(boxValue){
$.post(“/ajaxConnect.php”,{value:$(“qty_”+boxValue.val()}),
功能(结果){
console.log(“保存的值”);
});
}
ajaxConnect:

<?php
    session_start();
    $_SESSION['box_']['value'] = $_POST["value"];
?>

最终目标是在值更改时将输入值保存到
$\u会话['box\u']['qty\u LINE']

如果我手动设置
$\u SESSION
值,我可以让它显示出来,但不能通过ajax


欢迎提供帮助。

更好的做法是使用jquery进行事件绑定,而不是使用诸如
onchange
之类的属性,并且您还需要确保获得正确的值以发送到服务器,您需要行名称和值

因此,删除
onchange
属性:

<php
    echo "<div id=\"prodBox\">QTY: <input name=\"qty_".rawurldecode($item->LINE)."\" value=\"" . $_SESSION['box_']['qty_'.rawurldecode($item->LINE)] . "\" type=\"number\" /></div>";
?>
最后,更新您的
ajaxConnect
文件:

<?php
    session_start();
    $line = isset($_POST["line"]) ? $_POST["line"] : '';
    $value = isset($_POST["value"]) ? $_POST["value"] : '';
    $_SESSION['box_'][$line] = $value;
?>


在JQuery中,使用
#
进行id映射,并在php中直接获取数组索引。您将能够访问站点其他页面中的会话值,或者在重新加载页面后访问会话值。在我记着输入JQuery参考后,您的答案非常有效。
<?php
    session_start();
    $line = isset($_POST["line"]) ? $_POST["line"] : '';
    $value = isset($_POST["value"]) ? $_POST["value"] : '';
    $_SESSION['box_'][$line] = $value;
?>