输入文本表单,使用javascript清除和恢复表单内容问题

时间:2011-06-07 21:44:04

标签: javascript jquery

我有这行HTML

<input type="text" name="addQty" size="1" 
       class="addQty" value="0" 
       onclick="$(this).val('')" 
       onblur="itmQtyChk($(this).val())" />

itmQtyChk函数执行此操作:

function itmQtyChk( qty ) {
    if( qty == "") {
        $(this).val("0");
    } else {
        $(this).val(qty);
    }
 }

我的问题是我希望它将原始值返回到输入文本,如果它们退出字段并且不更改任何内容,但它不起作用。

感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

this函数中的

itmQtyChk不是指输入,而是指window个对象。

更改函数以接受输入作为参数:

function itmQtyChk(input) {
    if (input.val() == "") {
        input.val("0");
    }
    // the else part is not needed
}

还有onblur事件:

onblur="itmQtyChk($(this))"

答案 1 :(得分:1)

检查这个小提琴,它有很大的改进空间,但它可以帮助你:

http://jsfiddle.net/eDuKr/1/

$(function(){

    var cacheQty;

    $('.addQty').click(function(){
        cacheQty = $(this).val();
        $(this).val('');

    }).blur(function(){
        if ($(this).val() === ''){
            $(this).val(cacheQty);
        }else{
            cacheQty = $(this).val();
        }
    });   
});