将数据输入另一个输入时清除输入

时间:2012-03-22 03:19:07

标签: jquery input

我有一个带有辅助地址部分的表单。在此部分中,您可以填写街道或邮政信箱地址。我想确保只提交一个地址,所以如果用户将数据输入到另一个输入字段,我想清除另一个表单。

我的代码不起作用,有什么想法吗?感谢

$('#pobox_number').change(function() {
if ($(this).val().length > 0) {
    $('#street_name_postal').val('');
}

4 个答案:

答案 0 :(得分:3)

假设#pobox_number是一个带有类型文本的输入,则更改事件仅在模糊时触发,因此您的代码可能正常工作,但并不像您期望的那样。

您可以尝试使用keypress事件,以便您的代码如下所示:

$('#pobox_number').keypress(function() {
    if ($(this).val().length > 0) {
        $('#street_name_postal').val('');
    }
}

答案 1 :(得分:1)

如果元素的ID正确,您的代码应该有效。工作=清理其他字段的值。

但是,如果您不想发送输入(即使它是空的)内容,则应确保这些元素的name属性为空,如果没有name属性设置,没有数据发送。

答案 2 :(得分:1)

您的代码看起来没问题,但change缺少右括号。你应该:

$('#pobox_number').change(function() {
    if ($(this).val().length > 0) {
        $('#street_name_postal').val('');
    }
});

这是一个有效的jsFiddle sample

那就是说,我建议改为使用blur,否则用户可以在字段之间来回切换,如果值没有改变,那么事件赢了&# 39;被触发这是example of the blur approach

答案 3 :(得分:0)

答案最终变得非常简单,不确定为什么我需要如此精确地定位元素,但在"#street_name_postal"之前添加输入。做了伎俩。

$('#pobox_number').change(function() {
if ($(this).val().length > 0) {
$('input#street_name_postal').val('');
}
相关问题