如何从 javascript 变量发送表单值并在 php 中作为整数接收? [复制]
Posted
技术标签:
【中文标题】如何从 javascript 变量发送表单值并在 php 中作为整数接收? [复制]【英文标题】:How to send a form value from a javascript variable and be received as an integer in php? [duplicate] 【发布时间】:2017-09-10 13:30:01 【问题描述】:我的表单会将数据发布到名为 numberActionPage.php 的 php 中。我要发布的变量周围有两个按钮(一个+
和一个-
),它们只是通过加减一个来更改变量。我遇到的问题是我找不到方法来检索我的 javascript number
变量的值。我注意到的另一个潜在问题是$_POST
在 PHP 中导致 string
。不过,我并不关心将负数发布到操作页面,因为在实际程序中,负数永远不会低于 1。
例如,我的 Javascript 看起来像这样:
var number = 5;
function subtractNumber()
number--;
document.getElementById("numberID").innerhtml = number;
function addNumber()
number++;
document.getElementById("numberID").innerHTML = number;
我的 html 看起来像这样:
<form action="numberActionPage.php" method="post">
Number:
<button type="button" onclick="subtractNumber()">-</button>
<a id="numberID"> <input type="hidden" value="5" name="number"> <script>document.write(number);</script> </a>
<button type="button" onclick="addNumber()">+</button>
<br>
<p><input type="submit" value="Submit" /></p>
</form>
我的 numberActionPage 如下所示:
$number = (int)htmlspecialchars($_POST['number']);
echo $number;
输出 = 5
on actionNumberPage
所以,重申一下我的问题:我需要一种方法让我的表单中输入元素的value="5"
部分接收javascript 变量number
的值。寻找诸如:
value="<script>retrieveNumber()</script>"
另外,我是否正确准备了$_POST
变量?将其正确转换为整数。
感谢您的时间和建议。
【问题讨论】:
【参考方案1】:您要做的是更新名为 number 的隐藏输入并更改其值。这样在提交时输入的值将像正常输入一样发送到下一页。我给输入的 id 是 'inputNumber'
像这样
<form action="numberActionPage.php" method="post">
Number:
<button type="button" onclick="subtractNumber()">-</button>
<a id="numberID"> <input type="hidden" id="inputNumber" value="5" name="number"> <script>document.write(number);</script> </a>
<button type="button" onclick="addNumber()">+</button>
<br>
<p><input type="submit" value="Submit" /></p>
</form>
更改您的脚本,以便在按下按钮时更新输入值。
function subtractNumber()
number--;
document.getElementById("numberID").innerHTML = number;
document.getElementById("inputNumber").value = number;
function addNumber()
number++;
document.getElementById("numberID").innerHTML = number;
document.getElementById("inputNumber").value = number;
【讨论】:
@Jamin 原来你的问题与Set the value of a input field with javascript 完全相同,对吧? 是的,不是的,我需要做的部分是来自那个答案,但我不知道如何让它发挥作用。我认为问题更多是我忽略的结构缺陷,这是我的不工作的主要因素。我在发这篇文章之前就看过那篇文章,因为我不知道如何放置它。以上是关于如何从 javascript 变量发送表单值并在 php 中作为整数接收? [复制]的主要内容,如果未能解决你的问题,请参考以下文章
使用 PHP 从动态输入字段中捕获数组值并通过电子邮件发送它们
Vue中如何存储多个children的值并在父组件中执行一个函数