我有一個具有輔助地址部分的表單。在本節中,您可以填寫街道或郵政信箱地址。我想確保只提交一個地址,所以如果用戶將數據輸入到另一個輸入字段,我想清除其他表單。當數據輸入到另一個輸入時清除輸入
我的下面的代碼不工作,有什麼想法?由於
$('#pobox_number').change(function() {
if ($(this).val().length > 0) {
$('#street_name_postal').val('');
}
我有一個具有輔助地址部分的表單。在本節中,您可以填寫街道或郵政信箱地址。我想確保只提交一個地址,所以如果用戶將數據輸入到另一個輸入字段,我想清除其他表單。當數據輸入到另一個輸入時清除輸入
我的下面的代碼不工作,有什麼想法?由於
$('#pobox_number').change(function() {
if ($(this).val().length > 0) {
$('#street_name_postal').val('');
}
答案最終是非常簡單的,不知道爲什麼我需要如此精確地定位元素,但在「#street_name_postal」之前添加了輸入就是了。
$('#pobox_number').change(function() {
if ($(this).val().length > 0) {
$('input#street_name_postal').val('');
}
假設#pobox_number是文本類型的輸入更改事件僅在模糊解僱,所以你的代碼可能會被工作,但只是沒有你指望它。
你可以嘗試使用的按鍵事件,而不是讓你的代碼看起來像這樣:如果元素的ID是正確的
$('#pobox_number').keypress(function() {
if ($(this).val().length > 0) {
$('#street_name_postal').val('');
}
}
您的代碼應該工作。工作=清除其他字段的值。
但是,如果您不想發送輸入(即使它是空的)內容,則應確保這些元素的name
屬性爲空,如果沒有設置name
屬性,則不發送數據。
您的代碼看起來沒問題,除了缺少的右括號change
。你應該有:
$('#pobox_number').change(function() {
if ($(this).val().length > 0) {
$('#street_name_postal').val('');
}
});
這是一個工作jsFiddle sample。也就是說,我建議使用blur
來代替,否則用戶可能會在字段之間來回切換,如果值沒有改變,那麼事件將不會被觸發。這是一個example of the blur
approach。
你可以提出一個警報,看看函數是否在你輸入pobox_number文本框時被調用嗎? – Asdfg 2012-03-22 03:22:23
嗨,我試過了,警報沒有運行。有什麼建議麼?謝謝 – 2012-03-22 03:49:03
嗨,大家好,感謝所有的幫助,我通過在ID前添加輸入來獲得代碼。奇怪,但它需要這些目標的ID。如果任何人需要點只是回答使用這:) – 2012-03-22 20:22:38