jQuery获取值输入文本

时间:2014-07-09 07:39:19

标签: php jquery input

这是我的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']无法识别。 我不明白为什么?

1 个答案:

答案 0 :(得分:2)

重要您需要删除disabled属性。

<input type="text" name="Estimation4" id="Val4" maxlength="3"/>

使用.val()设置值。像

$('#Val4').val(total);

而不是

$('#Val4').attr('value', total);

.val()函数为您提供字符串。因此,您需要将字符串值转换为适当的值。

  1. 使用parseFloat()表示浮点数。操作
  2. 使用parseInt()整数进行操作。
  3. 完整代码

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