我正在更改隐藏字段的值:
<input class="fruit_details" type="hidden" value="default_value" rel="fruits" name="data[fruits]">
选择的每次更改,我都会将选定的选项文本(不是值)分配给隐藏字段:
$(selected_tr).find('td[rel=fruits_list] select').change(function() {
$('.fruit_details input[rel=fruits]').val($(this).find(':selected').text());
// ... so on
我做了一个 console.log 来查看隐藏字段是否已更新,是的是:
console.log($('.fruit_details input[rel=fruits]').val());
然后提交$.post
,然后对PHP进行后端检查:
print_r($_POST);
显示隐藏字段的值仍然是默认值,而不是从<select>
中选择的值。
我错过了什么?有没有办法确保表单在提交到帖子之前获取字段的更新值?
答案 0 :(得分:0)
如果没有更多信息,很难说,但是:
您是否提交了多个隐藏字段?使用类而不是id的原因,例如#fruit_details input[rel=fruits]
通常是因为您有多个,并且具有多个相同名称的输入会产生意外结果。
检查开发人员工具的“网络”标签,查看实际传输到服务器的变量,并确保您没有获得默认值。如果您获得默认值,那么您就知道JS存在问题。如果它不是,那么你就会知道在PHP方面有些困惑。
答案 1 :(得分:0)
看起来你有多个隐藏(数组),如果没有尝试直接将值传递给你的php,看看传递了什么