gpt4 book ai didi

php - 使用ajax保存表单变量onchange

转载 作者:行者123 更新时间:2023-11-28 00:04:18 26 4
gpt4 key购买 nike

我正在尝试使用 ajax 将表单数据保存到 $_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>";
?>

ajax连接:

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

最终目标是将输入值保存到 $_SESSION['box_']['qty_LINE'] 每当值更改时。

如果我手动设置 $_SESSION 值,我可以让它显示,但不能通过 ajax。

欢迎任何帮助。

最佳答案

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

所以去掉onchange属性:

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

并使用这个 jquery 代码:

$(document).ready(function(){
$('#prodBox input').change(function(){
$.post("/ajaxConnect.php",{line: this.name, value: this.value},
function( result ) {
console.log('value saved');
});
});
});

最后,更新您的 ajaxConnect 文件:

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

关于php - 使用ajax保存表单变量onchange,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19354072/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com