【问题标题】:Pass javascript variable value to .php using a html form使用 html 表单将 javascript 变量值传递给 .php
【发布时间】:2015-06-07 21:13:20
【问题描述】:

我有一个 html 表单、一个变量和一个 .php 脚本。我想使用 html 表单将此变量的值传递给 .php 脚本,它必须是变量值,所以假设它是 1,那么它传递值 1,但是如果变量的值发生变化为 2 那么表单传递的值应该是 2。当前传递变量时,它只是传递变量的名称。

html:

<form id="get-form" action="getAmount.php" method="POST" name="get-form">
<input type="text" name="amount" id="amount" />
<input type="hidden" id="testVar" name="testVar" value="testVar"/>
<input type="image"  src="butImg.png" id="Button" value="pay" alt="but"/>
</form>

<script type="text/javascript">
var testVar= 1;
document.getElementById("testVar").value = testVar;
</script>

php:

$testVar= $_POST['testVar'];

【问题讨论】:

  • 变量在何处/何时更改?
  • 问题出在哪里?提交此表单后,您在帖子中没有收到 1?
  • 你试过像&lt;input type="hidden" id="testVar" name="testVar"/&gt;这样的输入
  • 这是因为.php脚本将当前变量的数量传递给.txt脚本,然后下次提交的变量是current+1,所以每次.php调用时,变量增加一。这有点复杂,但它是为了确保网站上的每个用户都能立即看到更新的变量。
  • @n-dru 是的,问题是 1 没有通过,所以每当我检查 1 时,它只通过了变量的名称。

标签: javascript php html forms post


【解决方案1】:

不要尝试传递 Javascript 变量,而是传递 PHP 变量

<input type="hidden" name="testVar" id="testVar" value="<?php echo $_POST["testVar"];?>" />

如果您需要 JavaScript 变量来做其他事情,您仍然可以使用 JS 赋值部分:

<script type="text/javascript">
  var testVar= <?php echo $_POST["testVar"];?>;
</script>

【讨论】:

    【解决方案2】:

    我认为问题在于您浏览器中的 javascript 已关闭, 所以 javascript 代码不会被执行,并且 testVar 的值将保持不变。

    您可以通过打开浏览器的网络检查器轻松检查,并检查隐藏字段的值是您的给定值还是 testVar。

    【讨论】:

    • 我已经检查了我的浏览器中是否启用了javascript,但感谢您的回答。
    猜你喜欢
    • 1970-01-01
    • 2019-09-13
    • 2013-01-21
    • 2019-11-08
    • 1970-01-01
    • 2014-12-06
    • 2011-07-14
    • 2021-10-05
    • 2011-08-31
    相关资源
    最近更新 更多