当字段为空时,val() 返回占位符值,而不是 IE8,9 中的实际值.下面显示的
val() returns Placeholder value instead of the actual value in IE8,9 when the field is empty
占
位符属性在Firefox中工作正常,但如果在字段为空时调用val(),则返回占位符值而不是文本中的实际值。
JSFiddle - http://jsfiddle.net/Jrfwr/2/
<input id="tlt" type="text" placeholder="Enter Title" />
JSCode
function placeHolderFallBack() {
if ("placeholder" in document.createElement("input")) {
return;
}
else {
$('[placeholder]').focus(function () {
var input = $(this);
if (input.val() == input.attr('placeholder')) {
input.val('');
input.removeClass('placeholder');
}
}).blur(function () {
var input = $(this);
if (input.val() == '' || input.val() == input.attr('placeholder')) {
input.addClass('placeholder');
input.val(input.attr('placeholder'));
}
}).blur();
$('[placeholder]').parents('form').submit(function () {
$(this).find('[placeholder]').each(function () {
var input = $(this);
if (input.val() == input.attr('placeholder')) {
input.val('');
}
})
});
}
}
你可以覆盖val()方法,但我不喜欢这样做:D
我写了一个简单的pVal()
函数来完成这项工作
$.fn.pVal = function(){
var $this = $(this),
val = $this.eq(0).val();
if(val == $this.attr('placeholder'))
return '';
else
return val;
}
$(function(){
alert($('input').val())
alert($('input').pVal())
});
http://jsfiddle.net/W7JKt/3/
在 JSFiddle 代码中,您可以在 BUTTON CLICK 事件中获取文本框的值...检查文本框的当前值是否等于占位符的代码在 FORM SUBMIT 事件中执行。
所以......问题是BUTTON的CLICK事件在FORM的SUBMIT事件之前执行。
此代码显示了如何获取正确值的示例
希望有帮助。
它与HTML 5有关。请参阅此文章。
http://www.cssnewbie.com/cross-browser-support-for-html5-placeholder-text-in-forms/
相关文章:
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 而循环只设置php中输入字段中的第一个值
- 在输入字段中将最小金额设置为
- 从Rally获取一个特定的标记,以便计算另一个字段中的值
- 如何在输入字段中的按钮的帮助下打开日历,该字段的类型为“=”;日期”;
- JavaScript 检查隐藏字段中的值并将其设置为隐藏字段值
- 在wordpress一定时间后更改自定义字段
- 如何在HTML输入字段中添加不可删除的后缀
- Meteor-添加用户自定义字段的方法不起作用
- 互斥单选按钮和相应的输入字段
- 在IE9中的输入字段中输入焦点最近按钮
- 选中单选框时将属性添加到输入字段
- 带有验证和隐藏字段值的提交按钮
- 主干窗体隐藏字段未呈现
- 带有let的JS/EECMAScript6私有字段的模式
- 按钮字段确认点击不'不起作用
- Onclick无法在IE8和IE7中启用只读字段
- 当字段为空时,val() 返回占位符值,而不是 IE8,9 中的实际值.下面显示的
- IE8中的Magento产品页面:添加到购物车的增量默认值,忽略数量字段.Form.js第266行错误
- 在 IE8 及更高版本中获取输入字段中的选定文本