如何从javascript变量发送表单值并在php中作为整数接收?

如何从javascript变量发送表单值并在php中作为整数接收?,javascript,php,html,Javascript,Php,Html,我的表单将把数据发布到一个名为numberActionPage.php的php中。在我试图发布的变量周围有两个按钮(a+,和a-),它们只是通过添加或减去一个来更改变量。我遇到的问题是找不到一种方法来检索Javascriptnumber变量的值。我注意到的另一个潜在问题是,在PHP中,$\u POST会导致字符串。然而,我并不担心负面数字被发布到行动页面,因为在实际的程序中,这个数字永远不会低于1 例如,我的Javascript如下所示: var number = 5; function su

我的表单将把数据发布到一个名为numberActionPage.php的php中。在我试图发布的变量周围有两个按钮(a
+
,和a
-
),它们只是通过添加或减去一个来更改变量。我遇到的问题是找不到一种方法来检索Javascript
number
变量的值。我注意到的另一个潜在问题是,在PHP中,
$\u POST
会导致
字符串。然而,我并不担心负面数字被发布到行动页面,因为在实际的程序中,这个数字永远不会低于1

例如,我的Javascript如下所示:

var number = 5;

function subtractNumber()       {
        number--;
        document.getElementById("numberID").innerHTML = number;
}

function addNumber()    {
        number++;
        document.getElementById("numberID").innerHTML = number;
}
<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>
$number = (int)htmlspecialchars($_POST['number']);
echo $number;
我的html如下所示:

var number = 5;

function subtractNumber()       {
        number--;
        document.getElementById("numberID").innerHTML = number;
}

function addNumber()    {
        number++;
        document.getElementById("numberID").innerHTML = number;
}
<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>
$number = (int)htmlspecialchars($_POST['number']);
echo $number;
输出=
5
在actionNumberPage上


因此,重申一下我的问题:我需要一种方式,让表单中输入元素的
value=“5”
部分接收javascript变量
number
的值。正在查找以下内容:

value=“retrieveNumber()”

另外,我是否正确准备了
$\u POST
变量;正确地将其转换为整数


感谢您的时间和建议。

您要做的是更新名为number的隐藏输入并更改其值。这样,当提交时,输入的值将被发送到下一页,就像它是一个正常的输入一样。我给了输入一个“inputNumber”的id

像这样

<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>

您要做的是更新名为number的隐藏输入并更改其值。这样,当提交时,输入的值将被发送到下一页,就像它是一个正常的输入一样。我给了输入一个“inputNumber”的id

像这样

<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>

@Jamin所以你的问题是一个完全相同的问题,对吗?是和否,我需要做的部分是从这个答案,但我不知道如何使它工作。我认为问题更多的是我忽略了一个结构缺陷,这是我的工作不正常的主要原因。在我写这篇文章之前,我看过那篇文章,因为我不知道如何放置它。@Jamin,所以你的问题是一个完全相同的问题,对吗?是和否,我需要做的一部分是从这个答案,但我不知道如何使它工作。我认为问题更多的是我忽略了一个结构缺陷,这是我的工作不正常的主要原因。在我写这篇文章之前,我已经看过那篇文章了,因为我不知道如何放置它。