带jquery的html5占位符 - javascript输入值见占位符

时间:2015-12-22 04:33:11

标签: javascript jquery html5

我有一个页面,我们团队的另一部分使用jquery来执行某些功能。调用jquery *文件时,我的javascript验证会将HTML5占位符视为值。如果我拿出jquery everthign工作正常。

例如,如果我有这个:

!document.getElementById("company").value

html文件中的jquery在头文件或正文中我的JS不会将其视为null或为空它看到的是带有HTML5占位符的值。

<script type="text/javascript" src="js/jquery-1.11.1.min.js"></script>
<script type="text/javascript" src="js/jquery.main.js"></script>

感谢您提供任何帮助。

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您有一个placeholder属性的表单可以正常工作。在您的代码中,使用vanilla javascript,您正在读出该表单的字段的value属性,如果该字段为空,它通常会返回一个空字符串。但现在,在包含jQuery后,要求value属性会返回placeholder文本。

这对我来说听起来像个错误。你是否有机会使用IE浏览器? 这不是解决方案,而是一种解决方法。您可以做的是将您获得的值与占位符文本进行比较。如果它相等,那么你得出的结论是该字段仍为空:

<input name="company" type="text" id="company" onFocus="changebrc('Company');" placeholder="Company Name"/>

if (document.getElementById("company").value == "Company Name"){/*field is empty*/}

如果用户决定输入在占位符中写入的相同文本,这将不起作用,如果使用正确的占位符文本,这是不太可能的。