0

我有一个表单,用户单击各个单选组,这会生成一个用 javascript 计算的“分数”,并在表单顶部的一个文本框中填充一个运行总数。

提交表单时,此文本框的 POST 值为空,因此当它移动到输出表时,没有要显示的值。

所有其他手动输入的文本框都可以正常工作。所有名称/ID 等都是正确的,我是否缺少一些东西以使其在提交表单时正确保留 POST 值中的 JS 生成的值?

这(从 JS 填充)不起作用:

<input name="Result_AutoFail" type="text" class="ResultsBox" id="Result_AutoFail" size="2" maxlength="2" value="<?php echo htmlspecialchars($_POST['Result_AutoFail']); ?>"/> 

但这(手动输入)确实:

<input name="CustName" type="text" id="CustName" size="25" maxlength="25" value="<?php echo htmlspecialchars($_POST['CustName']); ?>"/>

用于填充框的 JS 对于每个问题都是这样,当用户单击每个问题的每个单选按钮时,这工作正常并将值正确放入框中,只是不会将其发送到 POST:

 for (i=0;i<2;i++)
{

if (document.MonitorForm.SBI_CA027[i].checked == true)
{

    CA027Selected = document.MonitorForm.SBI_CA027[i].value

}
}


if (CA027Selected == "Yes")
{

    if (AutoFailCount == 0)
    {
        document.MonitorForm.Result_AutoFail.style.backgroundColor = "#008000";

    }
    else if (AutoFailCount >= 1)
    {

        document.MonitorForm.Result_AutoFail.style.backgroundColor = "#FF0000";
    }





}
else if( CA027Selected == "No")
{
    AutoFailCount = (AutoFailCount + 1);

    if (AutoFailCount == 0)
    {
        document.MonitorForm.Result_AutoFail.style.backgroundColor = "#008000";

    }
    else if (AutoFailCount >= 1)
    {

        document.MonitorForm.Result_AutoFail.style.backgroundColor = "#FF0000";
    }


}

然后写入文本框:

document.MonitorForm.Result_AutoFail.value =  AutoFailCount ;

干杯!

4

2 回答 2

0

尝试将结果写入隐藏输入。

<input type="hidden" value="some_value" name="result" id="result" />
于 2012-08-20T09:39:39.430 回答
0

如果您不从输入或文本字段之类的表单字段提交它,它将不会出现在 $_POST 数组中

如果你想在你的帖子中提交额外的数据,你必须将它们写在隐藏的输入中

于 2012-08-20T09:45:40.723 回答