【问题标题】:POST Variable Lost on SubmitPOST 变量在提交时丢失
【发布时间】:2014-06-16 15:15:07
【问题描述】:

我有一个带有提交按钮的表单,该按钮会根据页面更改值。当按下提交按钮时,我需要该值来进行一些数据验证。然而,价值在这个过程中的某个地方正在丢失。

  • 我在 jQuery 中使用“单击”对按钮进行了值检查,该按钮在数据“提交”之前触发。值正确。

  • 在页面加载时,我尝试检查 POST 变量值,但它消失了。

    • 以下情况除外:

      1. 如果我不以任何方式使用 POST 变量,例如“if”语句。或者将其值分配给变量。如果我做任何这些事情,当我在页面顶部检查它的值时,丢失的值甚至不会显示出来。

        2.如果我将表单中的必填字段之一留空。

我应该注意到这是一个 Wordpress 网站。我知道人们会要求代码,但是页面很长,所以我会尽快在这里获取一些代码。

【问题讨论】:

  • 示例代码???是的,不是来自完整的网站。仅来自表单!
  • 部分问题是,当我剪掉一些代码时,它可以工作。即使在 PHP 代码中。所以,我不确定我能把它降到多短,但仍然让它失败。

标签: php wordpress forms variables post


【解决方案1】:

我终于找到了错误。原来它与 POST 无关。

代码中有一行额外的代码不断将变量重置为初始值。

很抱歉给您带来麻烦并感谢您的帮助!

【讨论】:

    【解决方案2】:

    在按下提交按钮之前添加一个隐藏的输入并将其值设置为提交按钮的值:

    $(document).on('submit', '#form', function(e) {
       e.preventDefault();
    
       $('#form input[name="submit_value"]').val($(this).find('input:submit').val());
    
       $(this).submit();
    });
    

    HTML:

    <form method="post">
       <input type="hidden" name="submit_value" />
       <input type="submit" value="Submit" />
    </form>
    

    【讨论】:

    • 有什么意义?为什么你不使用&lt;input type="submit" name="submit_value" value="Submit" /&gt;
    【解决方案3】:

    提交按钮不提交其值,添加一个input type='hidden' 与值

    【讨论】:

    • 失败。提交按钮将提交它们的值。 所有表单对象如果具有name 属性,则将提交它们的值。如果您使用&lt;input&gt;&lt;button&gt;&lt;textarea&gt; 或其他表单元素,则无关紧要。 名称属性至关重要!
    猜你喜欢
    • 2016-03-21
    • 2012-08-16
    • 2015-02-08
    • 2023-04-05
    • 2014-06-18
    • 2018-04-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多