我在 jquery 中编写了一个占位符函数,它工作正常,但是当该字段为空时,它实际上具有占位符的值。我在函数之外解决了它,我在提交时在 sendForm() 函数中检查它。但我想在占位符函数中解决它,使其适用于所有情况。这是代码:
jquery占位符:
$(":input[data-placeholder]").each(function(index){
if ($(this).val() == "")
{
$(this).val($(this).data("placeholder"));
$(this).addClass("placeholder");
}
}).live("focus",function(){
//check if the field not filled
if($(this).hasClass("placeholder"))
{
$(this).removeClass("placeholder");
$(this).val("");
}
}).live("blur",function(){
if($(this).val()=="")
{
$(this).val($(this).data("placeholder"));
$(this).addClass("placeholder");
}
});
html:
<form name="forme" method="post" onsubmit="return sendForm();">
<div id="fields">
<input type="text" name="userName" id="userName" data-placeholder="שם מלא"/>
<input type="text" name="userPhone" id="userPhone" data-placeholder="טלפון"/>
<input type="text" name="userMail" id="userMail" data-placeholder='דוא"ל'/>
<!--<textarea name="userMail" id="userMail" data-placeholder='דוא"ל'></textarea>-->
</div>
<input type="submit" id="submit" value="הרשמה">
</form>
发送表单():
function sendForm(){
var uname, uphone, umail;
$("#userName").hasClass("placeholder") ? uname="" : uname=$("#userName").val();
$("#userPhone").hasClass("placeholder") ? uphone="" : uphone=$("#userPhone").val();
$("#userMail").hasClass("placeholder") ? umail="" : umail=$("#userMail").val();
var dataObject = {name: uname, phone: uphone, mail: umail};
if(validate(uname,uphone,umail))
{