【问题标题】:Passing a js variable value in an input type hidden and then retrieve it with php在隐藏的输入类型中传递一个js变量值,然后用php检索它
【发布时间】:2015-07-05 18:15:56
【问题描述】:

我想用 javascript 计算用户提交表单的数量 然后将提交表单的数量放入隐藏输入类型的 value 属性中,然后使用 PHP 检索该值(隐藏输入的 name 属性)

这是我尝试过的简单代码,但它不起作用:

form.html

<form method="post" action="submit.php">
<input type="text" name="name" placeholder="name"/>
<input type="text" name="firstname" placeholder="firstname"/>
<input type="hidden" name="nb_submit" value="" id="nb"/>
<input type="submit" value="OK" onclick="count_nb_submit()"/>
</form>

html表单结束后,我已经放了javascript代码:

<script type="text/javascript">
var nb=0;
function count_nb_submit()
{
nb ++;
return nb;
document.getElementById('nb').value=nb;
}
</script>

提交.php

<?php
echo $_POST["nb_submit"] ;
?>

【问题讨论】:

  • 如果您在 javascript 中的 getElementById 之前有返回值,它会停止并返回值。你应该删除返回
  • 你的 JS 代码中return 语句后面的那行没有执行。所以元素nb中没有值。
  • 您想在form.html 页面中统计提交并再次获取数字吗?
  • document.getElementById('nb').value=nb;在返回之前我们这一行。

标签: javascript php input hidden


【解决方案1】:
<script type="text/javascript">
var nb = 0;
function count_nb_submit()
{
nb++;
var myform = document.getElementById('test');
document.getElementById("nb").value = nb;
myform.submit();
}
</script>

<form method="post" name="test" action="submit.php" id="test" target="_blank">
<input type="text" name="name" placeholder="name"/>
<input type="text" name="firstname" placeholder="firstname" />
<input type="hidden" name="nb_submit" value="0" id="nb"/>
<input type="button" value="OK" onclick="count_nb_submit();" />
</form>

【讨论】:

    【解决方案2】:

    JS代码:

    <script type="text/javascript">
                var nb = 0;
                function count_nb_submit() {
                    nb++;
                    var myform = document.getElementById('test');
                    document.getElementById("nb").value = nb;
                    myform.submit();
                }
            </script>
    

    表格代码:

    <form method="post" name="test" action="submit.php"  id="test" target="_blank">
                <input type="text" name="name" placeholder="name"/>
                <input type="text" name="firstname" placeholder="firstname" onblur="count_nb_submit();"/>
                <input type="hidden" name="nb_submit" value="0" id="nb"/>
                <input type="button" value="OK" onclick="count_nb_submit();" />
            </form>
    

    【讨论】:

      【解决方案3】:

      在您的script 中,您在完成您的功能之前是returning。

      当您想停止函数并返回结果时,您应该只使用return。返回后的任何内容都不会被读取。

      你的代码应该是这样的:

      <script type="text/javascript">
        var nb=0;
        function count_nb_submit() {
          nb++;
          document.getElementById('nb').value=nb;
          return nb;
        }
      </script>
      

      【讨论】:

        【解决方案4】:

        您在将值设置为字段之前使用return,删除返回希望它会起作用。函数应该是 -

        function count_nb_submit()
        {
            // calculate values
            document.getElementById('nb').value= //the value you want to assign;
        }
        

        【讨论】:

          猜你喜欢
          • 2013-12-30
          • 1970-01-01
          • 1970-01-01
          • 2015-01-11
          • 1970-01-01
          • 1970-01-01
          • 2023-03-03
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多