2011-08-26 35 views
0

我有一個帶有4個文本框和一個標籤的文本框末尾的表單。一旦輸入值改變,我想將標籤更改爲complete。我不想使用按鈕來觸發此事件,而是想要監視該字段何時失去焦點,例如通過跳轉到下一個輸入或單擊當前輸入。棘手的部分是每個文本框中都有一個默認值(幽靈文本),在將相應的輸入標記爲complete之前,必須檢查它們。所以在驗證完成之前,我將不得不檢查文本的css顏色是否設置爲「幽靈文本」顏色。使用jQuery執行輸入更改代碼

謝謝。

+0

那麼,你嘗試了什麼?你卡在哪裏? –

+0

「幽靈文本」是什麼意思? –

+0

你有沒有考慮過使用驗證插件? http://www.position-absolute.com/articles/jquery-form-validator-because-form-validation-is-a-mess/ – rlemon

回答

0

這工作得很好,因爲我需要什麼樣的,謝謝你們

功能ontextChange(){ $( '輸入:文本,文本區域')KEYUP(函數(){ $('輸入:文本,文本區域').each(function(){if(this).val()!=''){('[id $ = lblUploadStatus]')。html('準備上傳'); } 否則{。 $( '[ID $ = lblUploadStatus]')的html( '不完全')的CSS({ '顏色': '紅'});} }); }); }

0

添加一個onblur處理函數,遍歷所有相關字段並檢查它們是否被填充。如果它們是,則顯示您的消息。

$('.textfields').blur(function() { 
    cnt = 0; 
    $('.textfields').each(function() { 
     if ((this.value != 'blur text') && (this.value != '')) { 
     cnt++; 
     } 
    }); 
    if (cnt == $('.textfields').length) { 
     $('.label').html('All done!'); 
    } 
}); 

沒有測試過,可能會無法正常工作,情況因人而異,等等......如果他們不模糊了最後一個字段的

+0

我認爲使用'.change()'比'.blur( )'關於文本字段的地方。 – Blazemonger

+0

也許,但是對於輸入的每個字符都是這樣的。 –

+0

這是爲什麼會成爲問題? – Blazemonger

0

的由馬克低於B的代碼將無法正常工作。不幸的是,沒有一個好方法可以確定用戶是否完成了在最後一個字段中的輸入,除非他們在文本框中選中或單擊。想到的其他解決方案是檢查最後一個文本字段的onkeyup以查看它是否與先前存在的緩衝區文本相同,如果沒有,則我們知道它們已經改變了文本,再次,這似乎是一種非常糟糕的假設方式他們完成了。最簡單的方法是包含一個提交按鈕。