gpt4 book ai didi

php - jQuery 显示/隐藏字段未通过 php 验证

转载 作者:行者123 更新时间:2023-12-01 05:56:06 25 4
gpt4 key购买 nike

我有一个 jQuery 代码,它根据用户选择选项显示/隐藏一些禁用的字段:

$('.fieldcontent').not('.info').hide();

$('#selector_cs').change(function() {
$('.fieldcontent').customFadeOut(100);
$('.' + $(this).val()).customFadeIn(900);
$('input').prop('disabled',false);
$('textarea').prop('disabled',false);
$('select').prop('disabled',false);
});

});

最令人头痛的是:如果一个或多个字段淡入,这些字段就无法通过我的 php 验证,也无法提交表单。

如果在所有浏览器上禁用 JavaScript,则该表单可以正常工作。

PHP 验证是

if(!isset($_POST['products'])) {
$products[2] = clean_var($_POST['products']);
}
else {
$error = 1;
$products[3] = 'color:#FF0000;';
}

适用于所有字段

是否有任何 php/jquery 解决方案(请不要使用ajax,因为我不会再次制作整个表单,并且对ajax一无所知)?

提前感谢您的帮助

编辑:刚刚检测到另一个错误:如果 jquery 脚本淡入表单的另一部分,PHP 不再验证它。为什么? php-jquery 从来没有遇到过这样的问题。

最佳答案

如果您启用它们,但将属性 type 更改为 hidden,那么 PHP 在您提交这些字段时应该会看到这些字段。

更新
下面的场景怎么样:

  • 显示 5 个字段
  • 开始隐藏两个字段 (A+B)
  • “添加”两个与 A+B 同名的 type=hidden 字段,并将其当前值从 A+B 复制到“A+”B
  • PHP 应该看到这两个隐藏字段,而不是当前淡出的字段。
  • 如果用户在淡出时未提交,则当字段淡出时,删除“A+”B 字段并将两个淡出字段的属性设置为隐藏
  • 相反,可以再次向他们显示字段。

请注意,这不是由 PHP 引起的问题,而是由浏览器在提交表单时如何/何时将表单字段解释为要发送的有效表单字段引起的

关于php - jQuery 显示/隐藏字段未通过 php 验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15513596/

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