如何将JavaScript变量中的表单值发送并在PHP中以整数形式接收?

11 浏览
0 Comments

如何将JavaScript变量中的表单值发送并在PHP中以整数形式接收?

这个问题已经有答案了:

设置输入框的默认值

我的表单将会提交数据到一个叫做numberActionPage.php的php页面上。有两个按钮(一个加号,一个减号)在我尝试提交的变量周围,它们仅仅通过添加或者减少1来改变这个变量。我遇到的问题是我找不到一种可以取回我的Javascript变量的值的方法。另一个潜在的问题是$_POST在PHP中的结果是一个string。不过,我不担心会有负数提交到action page上,因为在实际的程序中这个数字永远不会低于1。

比如说,我的Javascript看起来是这样的:

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

我的html代码看起来是这样的:

Number:

 

 

我的numberActionPage看起来是这样的:

$number = (int)htmlspecialchars($_POST['number']);
echo $number;

Output = 5 on actionNumberPage


因此,为了重申我的问题: 我需要一种方法让我的表单中的value=\"5\"部分接收Javascript变量number的值。我正在寻找一个类似于:

value=\"\"

另外,我是否正确的准备了$_POST变量,并正确的将它转换为整数。

感谢您的时间和建议。

admin 更改状态以发布 2023年5月25日
0
0 Comments

你想要做的是更新名为"number"的隐藏输入框并更改它的值。这样,当提交时,输入框的值将被发送到下一页,就像它是一个普通的输入框一样。我给这个输入框一个id为"inputNumber"。

就像这样

Number:

更改你的脚本,使得当按钮被按下时,该输入框的值被更新。

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

0