Javascript值未在POST时提交

时间:2012-08-20 09:36:05

标签: php javascript post

我有一个用户单击各种广播组的表单,这会生成一个使用javascript计算的“得分”,并使用总计填充表单顶部的文本框。

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

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

这(由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 ;

干杯!

2 个答案:

答案 0 :(得分:0)

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

<input type="hidden" value="some_value" name="result" id="result" />

答案 1 :(得分:0)

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

如果您想在帖子中提交其他数据,则必须将其写入隐藏输入