这是我的HTML代码:
<input type="text" name="Estimation1" id="Val1" maxlength="3" disabled=true/>
<input type="text" name="Estimation2" id="Val2" maxlength="3" disabled=true/>
<input type="text" name="Estimation3" id="Val3" maxlength="3" disabled=true/>
<input type="text" name="Estimation4" id="Val4" maxlength="3" disabled=true/>
我的jQuery:
function CalculAuto()
{
// get the values from this row:
var val1 = $('#Val1').val();
var val2 = $('#Val2').val();
var val3 = $('#Val3').val();
if (val1=="") val1=0;
if (val2=="") val2=0;
if (val3=="") val3=0;
var total = 100 - ((val1 * 1) + (val2 * 1) + (val3 * 1));
// set total for the row
$('#Val4').attr('value', total);
}
我的问题是:当我发送表单时,$_POST['Estimation4']
无法识别。
我不明白为什么?
答案 0 :(得分:2)
重要您需要删除disabled
属性。
<input type="text" name="Estimation4" id="Val4" maxlength="3"/>
使用.val()
设置值。像
$('#Val4').val(total);
而不是
$('#Val4').attr('value', total);
.val()
函数为您提供字符串。因此,您需要将字符串值转换为适当的值。
parseFloat()
表示浮点数。操作parseInt()
对整数进行操作。完整代码
function CalculAuto()
{
// get the values from this row:
var val1 = $('#Val1').val();
var val2 = $('#Val2').val();
var val3 = $('#Val3').val();
val1 = val1=="" ? 0 : parseFloat(val1);
val2 = val2=="" ? 0 : parseFloat(val2);
val3 = val3=="" ? 0 : parseFloat(val3);
var total = 100 - ((val1 * 1) + (val2 * 1) + (val3 * 1));
// set total for the row
$('#Val4').val(total);
}