我有一个带有辅助地址部分的表单。在此部分中,您可以填写街道或邮政信箱地址。我想确保只提交一个地址,所以如果用户将数据输入到另一个输入字段,我想清除另一个表单。
我的代码不起作用,有什么想法吗?感谢
$('#pobox_number').change(function() {
if ($(this).val().length > 0) {
$('#street_name_postal').val('');
}
答案 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('');
}