我有一个用户单击各种广播组的表单,这会生成一个使用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 ;
干杯!
答案 0 :(得分:0)
尝试将结果写入隐藏输入。
<input type="hidden" value="some_value" name="result" id="result" />
答案 1 :(得分:0)
如果您不从输入或文本字段等表单字段提交它,它将不会出现在$ _POST数组中
如果您想在帖子中提交其他数据,则必须将其写入隐藏输入