用户键入新值时更改输入值,否则具有默认值

时间:2016-03-08 01:38:35

标签: jquery html

如何将隐藏输入字段的值更改为用户在<input>中键入的内容?

输入字段

 <input
     type="number"
     id="custom-donation-amount"
     placeholder="50.00" onfocus="(this.value == '50.00') && (this.value = '')"
       onblur="(this.value == '') && (this.value = '50.00')"


 />

和隐藏的那个:

<input id="paypal_value" type="hidden" name="amount" value="">

Jquery的

<script type="text/javascript">
    if (!$('#custom-donation-amount').val()) { 
        ($("#paypal_value").val("50.00")) && ($("#custom-donation-amount").val("50.00"));
    }

    else $("#custom-donation-amount").change(function(){
  $("#paypal_value").val($("#custom-donation-amount").val())
});

2 个答案:

答案 0 :(得分:1)

Delegate number <input>上的 input event 然后只需为其值赋值,然后将该变量分配给{ {1}}。

使用控制台查看hidden <input>获得hidden <input>值。 添加了number <input>'s以方便地测试<output>值。

<强>段

hidden <input>'s

答案 1 :(得分:0)

如果用户没有输入任何内容(或小于文本框的默认金额),我希望您显示默认值。

$(document).ready(function(){
    $(".input_amt").on("focus", function(){
        $(this).val(parseFloat($(this).attr('placeholder')).toFixed(2));
        $("#paypal_value").val('');
    });
    $(".input_amt").on("blur", function(){
        $(this).val(parseFloat($(this).val()).toFixed(2));
        if(parseFloat($(this).val()) >50)
        {
            $("#paypal_value").val(parseFloat($(this).val()).toFixed(2));   
        }
        else
        {
            $(this).val(parseFloat('50.00').toFixed(2));
            $("#paypal_value").val(parseFloat('50.00').toFixed(2));
        }
    });
});

将课程 input_amt 添加到用户输入文本框