我有一个页面,我们团队的另一部分使用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>
感谢您提供任何帮助。
答案 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*/}
如果用户决定输入在占位符中写入的相同文本,这将不起作用,如果使用正确的占位符文本,这是不太可能的。