2012-03-15 57 views
1

我發現在文本字段本身內顯示字段標題的這種有用的小方法。正在傳遞的文本框中的文本標籤提交

http://viralpatel.net/blogs/2009/09/default-text-label-textbox-javascript-jquery.html

唯一的問題是,如果字段不是由用戶完成那麼標題值獲得提交。

任何人都可以告訴我如何添加onsubmit檢查,以確保我們不提交默認文本?

這是JavaScript:

$('input[type="text"]').each(function() { 

    this.value = $(this).attr('title'); 
    $(this).addClass('text-label'); 

    $(this).focus(function() { 
     if (this.value == $(this).attr('title')) { 
      this.value = ''; 
      $(this).removeClass('text-label'); 
     } 
    }); 

    $(this).blur(function() { 
     if (this.value == '') { 
      this.value = $(this).attr('title'); 
      $(this).addClass('text-label'); 
     } 
    }); 
}); 

非常感謝......

+0

當提交表單,檢查每個字段的對字段的值標題屬性。似乎這是插件用來添加文本的內容。 – j08691 2012-03-15 19:50:22

+0

您可能還想使用佔位符屬性(http://dev.w3.org/html5/spec/Overview.html#the-placeholder-attribute) – isotrope 2012-03-15 20:19:22

+0

@isotrope,它本來是完美的,但它不起作用爲了我。不知道使用它有點太早了嗎? – 2012-03-16 07:45:15

回答

1

類似下面應該工作:

$('form').submit(
    function(e){ 
     $(this).find('input, select, textarea').each(
      function(){ 
       if ($(this).val() == this.title){ 
        $(this).val(''); // removes the value 
        // or prevent form submission: 
        // return false; 
       } 
      }); 
    }); 
+0

感謝您的訣竅 – 2012-03-16 07:44:06

+0

如果您使用Rails這樣的框架,在驗證失敗時重新填充字段,應在'this.value = $(this).attr('title')之前添加額外的檢查。 '在插入輸入標題之前確保該字段爲空,以便它不會替換您的數據。 – Noz 2012-07-13 16:31:36