2013-07-09 55 views
0

如果用戶嘗試提交我的表單時,如果其中一個/兩個字段都爲空或者一個/兩個字段爲空,則如何返回帶有錯誤消息的警報對話框?這兩個字段都包含默認值?如果一個/兩個字段都爲空或包含默認值,則返回警報對話框

這是到目前爲止我的代碼:

HTML

<!-- idea title --> 
<textarea id="ideaTitle" />Please give your idea a title...</textarea> 
<br /> 
<!-- idea body --> 
<textarea id="ideaBody" rows="5" />Please provide details of your idea...</textarea> 
<br /> 
<!-- submit button --> 
<input type="button" id="sendMessage" value="broadcast" /> 

JS

$(function() { 
    $('#ideaTitle, #ideaBody').each(function() { 
     $.data(this, 'default', this.value); 
    }).focus(function() { 
     if (!$.data(this, 'edited')) { 
      this.value = ""; 
     } 
    }).change(function() { 
     $.data(this, 'edited', this.value != ""); 
    }).blur(function() { 
     if (!$.data(this, 'edited')) { 
      this.value = $.data(this, 'default'); 
     } 
    }); 
}); 

演示:http://jsfiddle.net/EKmmq/

+0

你可能要研究HTML輸入字段 –

+0

@InGodITrust,我開發IE6-IE9的'placeholder'屬性。那麼在這些瀏覽器上佔位符的支持有點困難 – methuselah

+0

然後可能[這個插件](https://github.com/mathiasbynens/jquery-placeholder)可以提供幫助嗎? –

回答

1

嘗試添加該事件處理程序的按鈕:

$('#sendMessage').click(function() { 
    $('#ideaTitle,#ideaBody').each(function() { 
     if ($.trim($(this).val()).length === 0) { 
      alert('empty'); 
      return false; 
     } 
     if ($.trim($(this).val()) === $(this).data('default')) { 
      alert('default'); 
      return false; 
     } 
    }) 
}); 

jsFiddle example

相關問題